Table 1 Object-oriented software project datasets.
OO-metrics | Metrics-explanation |
|---|---|
Ca: Afferent coupling | The number of classes using the features defined inside a given class |
Avg-CC: Average cyclomatic complexity | Mean complexity of methods defined inside class |
AMC: Average method complexity | Mean size of methods defined inside class |
CAM: Cohesion among methods of class | Ratio of the sum of parameters of methods and product of unique parameters of methods |
CBM: Coupling between methods | Total number of methods linked with inherited methods |
CBO: Coupling between object classes | The number of classes linked with a given class |
DAM: Data access metric | Ratio of protected or private attributes and the total number of attributes |
DIT: Depth of inheritance tree | Max depth of tree |
Ce: Efferent coupling | The number of classes that a specific class uses |
IC: Inheritance coupling | The number of parent classes with which a given class is associated. |
LCOM: Lack of cohesion in methods | The number of methods in a class that are unrelated despite the fact that some of the class’s fields are shared |
LCOM3 | Methods lack of cohesion. Henderson-Sellers version |
LOC: Lines of code | The number of lines in the source code’s text |
MAx-CC: Max cyclomatic complexity | Maximum cyclomatic complexity of a class’s methods |
MOA: Measure of aggregation | Number of data declarations (class fields) with user-defined class types |
MFA: Measure of functional abstraction | The ratio of the number of methods inherited by a class to the total number of methods accessible by the class’s member methods |
NOC: Number of children | Number of immediate descendants of the class |
NPM: Number of public methods | Number of methods defined as public inside class |
RFC: Response for a Class | Number of unique methods executed after receiving message |
WMC: Weighted methods per class | Summation of methods complexity defined inside class |