DOI: 10.5281/zenodo.10268007
title: A Dataset of Atoms of Confusion in the Android Open Source Project

description: This is a dataset cataloging the presence of Atoms of Confusion in the  Android Open Source Project, alongside metricsof object-oriented software development.
 
Schema
aoc_reports
id INTEGER  The primary key  project_name VARCHAR Name of the project/repository in the AOSPline INTEGER NOT NULL Line where the AC was foundsnippet VARCHAR NOT NULL The excerpt of code that represents the Atom of Confusionclass_name VARCHAR Name of the class where the AC was foundaoc VARCHAR NOT NULL Type of Atom of Confusionpath VARCHAR Path to the file in the AOSP superproject"commit" VARCHAR SHA of the commit of the file in the repositoryloc VARCHAR Number of lines of code in the file
files
path VARCHAR The path of the file
loc INTEGER Lines of code
project_name VARCHAR Name of the project/repository in the AOSP
projects
name VARCHAR The name of the project/repository in the AOSP
 
classes
id INTEGER The primary key  
file_path VARCHAR Path to the file in the AOSP superproject
name VARCHAR Name of the class
type VARCHAR The type of class (e.g. interface, anonymous...)
cbo INTEGER From CK: Coupling between objects, number of dependencies a class has.
"cboModified" INTEGER From CK: Coupling between objects, number of dependencies a class has. (References from other classes to this class + references from this class to other classes)
fanin INTEGER From CK: number of classes that reference this particular class.
fanout INTEGER From CK: the number of classes referenced by this class
wmc INTEGER From CK: Weight Method Class | McCabe's complexity | Cyclomatic Complexity
dit INTEGER From CK: Depth Inheritance Tree
noc INTEGER From CK: Number of Children
rfc INTEGER From CK: Response for Class
lcom INTEGER From CK: Lack of Cohesion of Methods
lcom_normalized DOUBLE From CK: Refers to the LCOM* metric that computes Lack of Cohesion of Methods between 0 and 1.
tcc DOUBLE From CK: Tight Class Cohesion
lcc DOUBLE From CK: Loose Class Cohesion
"totalMethodsQty" INTEGER From CK: Number of methods (constructors are included)
"staticMethodsQty" INTEGER From CK: Number of static methods
"publicMethodsQty" INTEGER From CK: Number of public methods
"privateMethodsQty" INTEGER From CK: Number of private methods
"protectedMethodsQty" INTEGER From CK: Number of protected methods
"defaultMethodsQty" INTEGER From CK: Number of default methods
"visibleMethodsQty" INTEGER From CK: Number of visible methods
"abstractMethodsQty" INTEGER From CK: Number of abstract methods
"finalMethodsQty" INTEGER From CK: Number of final methods
"synchronizedMethodsQty" INTEGER From CK: Number of synchronized methods
"totalFieldsQty" INTEGER From CK: Number of fields
"staticFieldsQty" INTEGER From CK: Number of static fields
"publicFieldsQty" INTEGER From CK: Number of public fields
"privateFieldsQty" INTEGER From CK: Number of private fields
"protectedFieldsQty" INTEGER From CK: Number of protected fields
"defaultFieldsQty" INTEGER From CK: Number of default fields
"finalFieldsQty" INTEGER From CK: Number of final fields
"synchronizedFieldsQty" INTEGER From CK: Number of synchronized fields
nosi INTEGER From CK: Number of static invocations
loc INTEGER From CK: Lines of code
"returnQty" INTEGER From CK: Number of return statements
"loopQty" INTEGER From CK: Number of repetition structures (while, for)
"comparisonsQty" INTEGER From CK: Number of comparisons, e.g. ==, !=
"tryCatchQty" INTEGER From CK: Number of try...catch statements
"parenthesizedExpsQty" INTEGER From CK: Number of expressions inside parenthesis.
"stringLiteralsQty" INTEGER From CK: Number of string literals. Repeated strings are counted as well.
"numbersQty" INTEGER From CK: Number of numbers, e.g. ints, floats, doubles
"assignmentsQty" INTEGER From CK: Number of assignments, usage of the = operator.
"mathOperationsQty" INTEGER From CK: Number of math operations.
"variablesQty" INTEGER From CK: Number of variables
"maxNestedBlocksQty" INTEGER From CK: Number of the highest nested block in the class.
"anonymousClassesQty" INTEGER From CK: Number of anonymous classes
"innerClassesQty" INTEGER From CK: Number of inner classes
"lambdasQty" INTEGER From CK: Number of lambdas
"uniqueWordsQty" INTEGER From CK: Number of unique words in the source file
modifiers INTEGER From CK: Number of modifiers in class/methods (usage of "public", "static", "abstract"...)
"logStatementsQty" INTEGER, From CK: Number of log statements.
 
methods
id_ INTEGER NOT NULL  The primary key
file_path VARCHAR NOT NULL Path to the file in the AOSP superproject
class_id INTEGER NOT NULL ID of the class where this method is
name VARCHAR NOT NULL The name of the method
constructor BOOLEAN NOT NULL From CK: True if method is a constructor
line INTEGER From CK: Line where this method is located
cbo INTEGER From CK: Coupling between objects, number of dependencies a class has.
"cboModified" INTEGER From CK: Coupling between objects, number of dependencies a class has. (References from other classes to this class + references from this class to other classes)
fanin INTEGER From CK: number of classes that reference this particular class.
fanout INTEGER From CK: the number of classes referenced by this class
wmc INTEGER From CK: Weight Method Class | McCabe's complexity | Cyclomatic Complexity
rfc INTEGER From CK: Response for Class
loc INTEGER From CK: Lines of code
"returnQty" INTEGER From CK: Number of return statements
"variablesQty" INTEGER From CK: Number of variables
"parametersQty" INTEGER From CK: Number of parameters
"methodsInvokedQty" INTEGER From CK: all methods invoked
"methodsInvokedLocalQty" INTEGER From CK: methods invoked locally
"methodsInvokedIndirectLocalQty" INTEGER From CK: number of indirect local invocations
"loopQty" INTEGER From CK: Number of repetition structures (while, for)
"comparisonsQty" INTEGER From CK: Number of comparisons, e.g. ==, !=
"tryCatchQty" INTEGER From CK: Number of try...catch statements
"parenthesizedExpsQty" INTEGER From CK: Number of expressions inside parenthesis.
"stringLiteralsQty" INTEGER From CK: Number of string literals. Repeated strings are counted as well.
"numbersQty" INTEGER From CK: Number of numbers, e.g. ints, floats, doubles
"assignmentsQty" INTEGER From CK: Number of assignments, usage of the = operator.
"mathOperationsQty" INTEGER From CK: Number of math operations.
"maxNestedBlocksQty" INTEGER From CK: Number of the highest nested block in the class.
"anonymousClassesQty" INTEGER From CK: Number of anonymous classes
"innerClassesQty" INTEGER From CK: Number of inner classes
"lambdasQty" INTEGER From CK: Number of lambdas
"uniqueWordsQty" INTEGER From CK: Number of unique words in the source file
modifiers INTEGER From CK: Number of modifiers in class/methods (usage of "public", "static", "abstract"...)
"logStatementsQty" INTEGER, From CK: Number of log statements.
"hasJavaDoc" BOOLEAN From CK: True if method has a JavaDoc