Empirical Evaluation of Coupling Metrics in Software Fault Prediction
Software Fault Prediction (SFP) techniques are commonly used to determine the fault proneness of software modules to complement the development and testing process. In SFP, fault prediction is based on software metrics that reflect any aspect of the software, where coupling is one of them. Software coupling is one such metric, which is a measure of the interdependency of software modules. Coupling induces complexity in the coupled module and makes it difficult to comprehend. Eventually, more coupled modules are likely to be faultier. This spurs a need to evaluate the impact of coupling exclusively, on fault proneness. Since, coupling by inheritance is harmless, as it promotes reusability, so coupling through inheritance is not considered. We evaluated seven coupling metrics on 87 different publicly available datasets. After pre processing, selected datasets are split with all possible coupling metrics. Resulting 474 split datasets are used for the experiments. These datasets have only coupling metrics and nominal binary class labels. Model building and validation are done for Support Vector Machine. Results of entropy loss shows that coupling metrics are good predictors of faults in software. Furthermore, {Coupling Between Objects, Design Complexity, Fan in} outperform the rest of the 30 feature set. Finally, coupling metrics are ranked by keeping in view their position achieved and the number of accompanying metrics. This declares Efferent Coupling as the best coupling metric with respect to the other six coupling metrics in 474 datasets. The paper concludes the viability of coupling metrics in software fault prediction. Evaluating the absolute impact of coupling in SFP and then the relative ranking of coupling metrics is the significance of this paper.
2020 17th International Bhurban Conference on Applied Sciences and Technology (IBCAST)