Research Article

An Empirical Assessment and Validation of Redundancy Metrics Using Defect Density as Reliability Indicator

Table 4

Common software metrics’ validation approaches.

ApproachObjective and used repositoriesCommon steps of the validation process

Cited in [4, 12, 13, 26, 28, 39, 44]Validate different metrics like C&K, MOOD, and QMOOD suites as indicators of fault-proneness attribute
The used data were extracted from different repositories including graphical user interface (GUI), Bugzilla Database, Mozilla Rhino open-source project, and NASA projects
(1) Collect data related to software metrics and the considered quality attribute (faults found during tests, maintenance effort, etc); historical data related to the selected quality attribute are available in the used repository
(2) Study the relationship between the two variables (software metrics and the quality attribute) based on different machine learning techniques like random forest, Naïve Bayes, logistic regression, decision tree, and neural network
(3) Evaluate results based on different performance evaluation measures like accuracy, F-measure, and precision

Cited in [7, 10, 42, 45]Validate different software metrics including size as indicators of defect density attribute
The data collected from the PROMISE and other public datasets
(1) Historical data related to software metrics and static code attributes (size and number of methods) were collected from these projects
(2) Defect density attribute was predicted using the simple and multiple linear regression techniques applied to static metrics
(3) Results were evaluated based on R-squared performance evaluation measure

Cited in [46]C&K metrics were used to predict software maintainability attribute; the number of lines changed per class was considered as a criterion in determining the maintainability of a class
User interface system (UIMS) and quality evaluation system (QUES) were used to extract the needed information (number of lines changed per class)
(1) Historical data of three years related to the number of lines changed per class in the selected software systems was used; also, the C&K metrics were extracted using metrics extraction tools
(2) Neurogenetic algorithm (hybrid approach of neural network and genetic algorithm) was applied to estimate the maintainability attribute based on these metrics
(3) The performance of this technique was evaluated using the mean absolute error (MAE), mean absolute relative error (MARE), root mean square error (RMSE), and standard error of the mean (SEM) evaluation measures