Comparative analysis of neural network and genetic programming for number of software faults prediction

Software fault prediction can be more useful if, besides predicting software modules being faulty or non-faulty, number of faults can also be predicted accurately. In this paper, we present an approach to predict the number of faults in the software system. We develop fault prediction model using neural network and genetic programming and compare the effectiveness of these techniques over ten project fault datasets collected from the PROMISE data repository. The results of the prediction are evaluated using error rate, recall and completeness parameters. Our results found that for small datasets, neural network produced better results, while for large datasets genetic programming produced better results. In terms of error values, neural network outperformed genetic programming, while for recall and completeness analysis, genetic programming produced the result better than neural network.

[1]  Tracy Hall,et al.  A Systematic Literature Review on Fault Prediction Performance in Software Engineering , 2012, IEEE Transactions on Software Engineering.

[2]  Cagatay Catal,et al.  Software fault prediction: A literature review and current trends , 2011, Expert Syst. Appl..

[3]  Marian Jureczko,et al.  Significance of Different Software Metrics in Defect Prediction , 2011 .

[4]  Liguo Yu,et al.  Using Negative Binomial Regression Analysis to Predict Software Faults: A Study of Apache Ant , 2012 .

[5]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[6]  Witold Pedrycz,et al.  Identification of defect-prone classes in telecommunication software systems using design metrics , 2006, Inf. Sci..

[7]  Tracy Halla,et al.  A Systematic Review of Fault Prediction Performance in Software Engineering a Systematic Review of Fault Prediction Performance in Software Engineering , 2011 .

[8]  Elliot Soloway,et al.  Where the bugs are , 1985, CHI '85.

[9]  José Javier Dolado,et al.  A Validation of the Component-Based Method for Software Size Estimation , 2000, IEEE Trans. Software Eng..

[10]  Taghi M. Khoshgoftaar,et al.  Predictive Modeling Techniques of Software Quality from Software Measures , 1992, IEEE Trans. Software Eng..

[11]  Lionel C. Briand,et al.  Empirical Studies of Quality Models in Object-Oriented Systems , 2002, Adv. Comput..

[12]  Sotiris B. Kotsiantis,et al.  Supervised Machine Learning: A Review of Classification Techniques , 2007, Informatica.

[13]  Taghi M. Khoshgoftaar,et al.  A Comprehensive Empirical Study of Count Models for Software Fault Prediction , 2007, IEEE Transactions on Reliability.

[14]  Sara Silva,et al.  GPLAB A Genetic Programming Toolbox for MATLAB , 2004 .

[15]  Harvey P. Siy,et al.  Predicting Fault Incidence Using Software Change History , 2000, IEEE Trans. Software Eng..

[16]  Elaine J. Weyuker,et al.  Predicting the location and number of faults in large software systems , 2005, IEEE Transactions on Software Engineering.