Visible to the public Process Metrics Are Not Bad Predictors of Fault Proneness

TitleProcess Metrics Are Not Bad Predictors of Fault Proneness
Publication TypeConference Paper
Year of Publication2017
AuthorsStanić, B., Afzal, W.
Conference Name2017 IEEE International Conference on Software Quality, Reliability and Security Companion (QRS-C)
Date Publishedjul
KeywordsBayes methods, box plot visual inspection, classifier, Couplings, fault prediction performance evaluation, fault proneness, fault/defect prediction models, faults, faulty classes, faulty modules, Inspection, Metrics, naive Bayes, Niobium, pattern classification, prediction, Predictive Metrics, Predictive models, predictive security metrics, process metrics, pubcrawl, software metrics, software quality, static code metrics, statistical analysis, trust-worthy predictions, Trusted Computing

The correct prediction of faulty modules or classes has a number of advantages such as improving the quality of software and assigning capable development resources to fix such faults. There have been different kinds of fault/defect prediction models proposed in literature, but a great majority of them makes use of static code metrics as independent variables for making predictions. Recently, process metrics have gained a considerable attention as alternative metrics to use for making trust-worthy predictions. The objective of this paper is to investigate different combinations of static code and process metrics for evaluating fault prediction performance. We have used publicly available data sets, along with a frequently used classifier, Naive Bayes, to run our experiments. We have, both statistically and visually, analyzed our experimental results. The statistical analysis showed evidence against any significant difference in fault prediction performances for a variety of different combinations of metrics. This reinforced earlier research results that process metrics are as good as predictors of fault proneness as static code metrics. Furthermore, the visual inspection of box plots revealed that the best set of metrics for fault prediction is a mix of both static code and process metrics. We also presented evidence in support of some process metrics being more discriminating than others and thus making them as good predictors to use.

Citation Keystanic_process_2017