Machine learning based methods for software fault prediction: A survey

被引:75
作者
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
相关论文
共 210 条
[1]  
Abaei Golnoush., 2014, Vietnam Journal of Computer Science, V1, P79
[2]   A hybrid one-class rule learning approach based on swarm intelligence for software fault prediction [J].
Abdi Y. ;
Parsa S. ;
Seyfari Y. .
Innovations in Systems and Software Engineering, 2015, 11 (04) :289-301
[3]  
Afzal Wasif, 2008, 2008 The Third International Conference on Software Engineering Advances (ICSEA), P407, DOI 10.1109/ICSEA.2008.9
[4]   Using Faults-Slip-Through Metric As A Predictor of Fault-Proneness [J].
Afzal, Wasif .
17TH ASIA PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2010), 2010, :414-422
[5]   Search-Based Prediction of Fault Count Data [J].
Afzal, Wasif ;
Torkar, Richard ;
Feldt, Robert .
1ST INTERNATIONAL SYMPOSIUM ON SEARCH BASED SOFTWARE ENGINEERING, PROCEEDINGS, 2009, :35-38
[6]   Empirical analysis for investigating the effect of object-oriented metrics on fault proneness: A replicated case study [J].
Aggarwal, K.K. ;
Singh, Yogesh ;
Kaur, Arvinder ;
Malhotra, Ruchika .
Software Process Improvement and Practice, 2009, 14 (01) :39-62
[7]   Empirical Study of Object-Oriented Metrics [J].
Aggarwal, K. K. ;
Singh, Yogesh ;
Kaur, Arvinder ;
Malhotra, Ruchika .
JOURNAL OF OBJECT TECHNOLOGY, 2006, 5 (08) :149-173
[8]  
Akalya Devi C., 2012, Int. J. Comput. Sci. Appl, V2, P25, DOI [10.5121/ijcsa.2012.2203, DOI 10.5121/IJCSA.2012.2203]
[9]  
Allen Eric., 2002, Bug patterns in java
[10]  
[Anonymous], 2006, P 2006 INT C SOFTW E