Machine learning based methods for software fault prediction: A survey

被引:78
作者
Pandey, Sushant Kumar [1 ]
Mishra, Ravi Bhushan [1 ]
Tripathi, Anil Kumar [1 ]
机构
[1] Indian Inst Technol BHU, Dept Comp Sci & Engn, Varanasi, Uttar Pradesh, India
关键词
Machine learning; Fault proneness; Statistical techniques; Fault prediction; Systematic literature review; DEFECT PREDICTION; EMPIRICAL-ANALYSIS; FEATURE-SELECTION; MODEL; QUALITY; METRICS; CLASSIFICATION; PRONENESS; FRAMEWORK; REGRESSION;
D O I
10.1016/j.eswa.2021.114595
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Several prediction approaches are contained in the arena of software engineering such as prediction of effort, security, quality, fault, cost, and re-usability. All these prediction approaches are still in the rudimentary phase. Experiments and research are conducting to build a robust model. Software Fault Prediction (SFP) is the process to develop the model which can be utilized by software practitioners to detect faulty classes/module before the testing phase. Prediction of defective modules before the testing phase will help the software development team leader to allocate resources more optimally and it reduces the testing effort. In this article, we present a Systematic Literature Review (SLR) of various studies from 1990 to June 2019 towards applying machine learning and statistical method over software fault prediction. We have cited 208 research articles, in which we studied 154 relevant articles. We investigated the competence of machine learning in existing datasets and research projects. To the best of our knowledge, the existing SLR considered only a few parameters over SFP?s performance, and they partially examined the various threats and challenges of SFP techniques. In this article, we aggregated those parameters and analyzed them accordingly, and we also illustrate the different challenges in the SFP domain. We also compared the performance between machine learning and statistical techniques based on SFP models. Our empirical study and analysis demonstrate that the prediction ability of machine learning techniques for classifying class/module as fault/non-fault prone is better than classical statistical models. The performance of machine learning-based SFP methods over fault susceptibility is better than conventional statistical purposes. The empirical evidence of our survey reports that the machine learning techniques have the capability, which can be used to identify fault proneness, and able to form well-generalized result. We have also investigated a few challenges in fault prediction discipline, i.e., quality of data, over-fitting of models, and class imbalance problem. We have also summarized 154 articles in a tabular form for quick identification.
引用
收藏
页数:35
相关论文
共 208 条
[51]  
D'Ambros Marco, 2010, Proceedings of the 2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010), P31, DOI 10.1109/MSR.2010.5463279
[52]   A symbolic fault-prediction model based on multiobjective particle swarm optimization [J].
de Carvalho, Andre B. ;
Pozo, Aurora ;
Vergilio, Silvia Regina .
JOURNAL OF SYSTEMS AND SOFTWARE, 2010, 83 (05) :868-882
[53]   Predicting Fault Proneness of Classes Trough a Multiobjective Particle Swarm Optimization Algorithm [J].
de Carvalho, Andre B. ;
Pozo, Aurora ;
Vergilio, Silvia ;
Lenz, Alexandre .
20TH IEEE INTERNATIONAL CONFERENCE ON TOOLS WITH ARTIFICIAL INTELLIGENCE, VOL 2, PROCEEDINGS, 2008, :387-394
[54]   Toward Comprehensible Software Fault Prediction Models Using Bayesian Network Classifiers [J].
Dejaeger, Karel ;
Verbraken, Thomas ;
Baesens, Bart .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2013, 39 (02) :237-257
[55]  
Denaro G, 2002, ICSE 2002: PROCEEDINGS OF THE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, P241, DOI 10.1109/ICSE.2002.1007972
[56]  
Di Martino Sergio, 2011, Product-Focused Software Process Improvement. Proceedings 12th International Conference, PROFES 2011, P247, DOI 10.1007/978-3-642-21843-9_20
[57]   Predicting defect-prone software modules using support vector machines [J].
Elish, Karim O. ;
Elish, Mahmoud O. .
JOURNAL OF SYSTEMS AND SOFTWARE, 2008, 81 (05) :649-660
[58]  
Erturk Ezgi, 2015, Journal of Software, V10, P757, DOI 10.17706/jsw.10.6.757-766
[59]   Iterative software fault prediction with a hybrid approach [J].
Erturk, Ezgi ;
Sezer, Ebru Akcapinar .
APPLIED SOFT COMPUTING, 2016, 49 :1020-1033
[60]   A comparison of some soft computing methods for software fault prediction [J].
Erturk, Ezgi ;
Sezer, Ebru Akcapinar .
EXPERT SYSTEMS WITH APPLICATIONS, 2015, 42 (04) :1872-1879