Software metrics for fault prediction using machine learning approaches: A literature review with PROMISE repository dataset

Software testing is an important and critical phase of software development life cycle to find software faults or defects and then correct those faults. However, testing process is a time-consuming activity that requires good planning and a lot of resources. Therefore, technique and methodology for predicting the testing effort is important process prior the testing process to significantly increase efficiency of time, effort and cost usage. Correspond to software metric usage for measuring software quality, software metric can be used to identify the faulty modules in software. Furthermore, implementing machine learning technique will allow computer to “learn” and able to predict the fault prone modules. Research in this field has become a hot issue for more than ten years ago. However, considering the high importance of software quality with support of machine learning methods development, this research area is still being highlighted until this year. In this paper, a survey of various software metric used for predicting software fault by using machine learning algorithm is examined. According to our review, this is the first study of software fault prediction that focuses to PROMISE repository dataset usage. Some conducted experiments from PROMISE repository dataset are compared to contribute a consensus on what constitute effective software metrics and machine learning method in software fault prediction.

[1]  K. K. Aggarwal,et al.  Investigating effect of Design Metrics on Fault Proneness in Object-Oriented Systems , 2007, J. Object Technol..

[2]  Witold Pedrycz,et al.  A comparative analysis of the efficiency of change metrics and static code attributes for defect prediction , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[3]  Santanu Kumar Rath,et al.  Using Source Code Metrics and Ensemble Methods for Fault Proneness Prediction , 2017, ArXiv.

[4]  Ebru Akcapinar Sezer,et al.  Iterative software fault prediction with a hybrid approach , 2016, Appl. Soft Comput..

[5]  Devendra Mundada,et al.  SOFTWARE FAULT PREDICTION USING ARTIFICIAL NEURAL NETWORK AND RESILIENT BACK PROPAGATION , 2016 .

[6]  Tianrui Li,et al.  A Combined-Learning Based Framework for Improved Software Fault Prediction , 2017, Int. J. Comput. Intell. Syst..

[7]  N. Nagappan,et al.  Use of relative code churn measures to predict system defect density , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[8]  Santanu Kumar Rath,et al.  Effective fault prediction model developed using Least Square Support Vector Machine (LSSVM) , 2017, J. Syst. Softw..

[9]  P Kumudha,et al.  Cost-Sensitive Radial Basis Function Neural Network Classifier for Software Defect Prediction , 2016, TheScientificWorldJournal.

[10]  Banu Diri,et al.  A systematic review of software fault prediction studies , 2009, Expert Syst. Appl..

[11]  Xinli Yang,et al.  Deep Learning for Just-in-Time Defect Prediction , 2015, 2015 IEEE International Conference on Software Quality, Reliability and Security.

[12]  Mohammad Ali Zare Chahooki,et al.  The Effectiveness of the Fused Weighted Filter Feature Selection Method to Improve Software Fault Prediction , 2016 .

[13]  Banu Diri,et al.  An Artificial Immune System Approach for Fault Prediction in Object-Oriented Software , 2007, 2nd International Conference on Dependability of Computer Systems (DepCoS-RELCOMEX '07).

[14]  Letha H. Etzkorn,et al.  Empirical Validation of Three Software Metrics Suites to Predict Fault-Proneness of Object-Oriented Classes Developed Using Highly Iterative or Agile Software Development Processes , 2007, IEEE Transactions on Software Engineering.

[15]  Bart Baesens,et al.  Toward Comprehensible Software Fault Prediction Models Using Bayesian Network Classifiers , 2013, IEEE Transactions on Software Engineering.

[16]  Shanthini. A Chandrasekaran,et al.  Applying Machine Learning for Fault Prediction Using Software Metrics , 2012 .

[17]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[18]  Banu Diri,et al.  Investigating the effect of dataset size, metrics sets, and feature selection techniques on software fault prediction problem , 2009, Inf. Sci..

[19]  Taghi M. Khoshgoftaar,et al.  How Many Software Metrics Should be Selected for Defect Prediction? , 2011, FLAIRS.

[20]  Olcay Taner Yildiz,et al.  Software defect prediction using Bayesian networks , 2012, Empirical Software Engineering.

[21]  Vandana Bhattacherjee,et al.  Software Fault Prediction Using Quad Tree-Based K-Means Clustering Algorithm , 2012, IEEE Transactions on Knowledge and Data Engineering.

[22]  Shruti Gupta,et al.  Fault Prediction using Metric Threshold Value of Object Oriented Systems , 2017 .

[23]  Ruchika Malhotra,et al.  Fault Prediction Using Statistical and Machine Learning Methods for Improving Software Quality , 2012, J. Inf. Process. Syst..