JSEA  Vol.8 No.8 , August 2015
A Framework for Software Defect Prediction Using Neural Networks
ABSTRACT
Despite the fact that a number of approaches have been proposed for effective and accurate prediction of software defects, yet most of these have not found widespread applicability. Our objective in this communication is to provide a framework which is expected to be more effective and acceptable for predicting the defects in multiple phases across software development lifecycle. The proposed framework is based on the use of neural networks for predicting defects in software development life cycle. Further, in order to facilitate the easy use of the framework by project managers, a software graphical user interface has been developed that allows input data (including effort and defect) to be fed easily for predicting defects. The proposed framework provides a probabilistic defect prediction approach where instead of a definite number, a defect range (minimum, maximum, and mean) is predicted. The claim of efficacy and superiority of proposed framework is established through results of a comparative study, involving the proposed frame-work and some well-known models for software defect prediction.

Cite this paper
Vashisht, V. , Lal, M. and Sureshchandar, G. (2015) A Framework for Software Defect Prediction Using Neural Networks. Journal of Software Engineering and Applications, 8, 384-394. doi: 10.4236/jsea.2015.88038.
References
[1]   (1990) IEEE Standard Glossary of Software Engineering Terminology. IEEE Std 610.12-1990, 1, 84.

[2]   Fenton, N.E. and Neil, M. (1999) A Critique of Software Defect Prediction Models. IEEE Transactions on Software Engineering, 25, 675-689. http://dx.doi.org/10.1109/32.815326

[3]   Levinson, M. (2001) Let’s Stop Wasting $78 Billion per Year. CIO Magazine.

[4]   Tamura, S. (2009) Integrating CMMI and TSP/PSP: Using TSP Data to Create Process Performance Models. Carnegie Mellon University, Pittsburgh.

[5]   Sommerville, I. (2006) Software Engineering. Addison-Wesley, Harlow, England.

[6]   Sivanandam, S.N. and Deepa, S.N. (2009) Principles of Soft Computing. 2nd Edition, John Wiley & Sons, Inc., Hoboken.

[7]   Munakata, T., Ed. (2007) Fundamentals of the New Artificial Intelligence. Texts in Computer Science. Springer, London. http://dx.doi.org/10.1007/978-1-84628-839-5

[8]   Narula, S.C. and Wellington, J.F. (1977) Prediction, Linear Regression and the Minimum Sum of Relative Errors. Technometrics, 19, 185-190. http://dx.doi.org/10.1080/00401706.1977.10489526

[9]   Gafhey Jr., J.E. (1984) Estimating the Number of Faults in Code. IEEE Transactions on Software Engineering, SE10, 459-464.

[10]   Karunanithi, N., Malaiya, Y.K. and Whitley, D. (1991) Prediction of Software Reliability Using Neural Networks. Proceedings of the International Symposium on Software Reliability Engineering, Austin, 17-18 May 1991, 124-130. http://dx.doi.org/10.1109/issre.1991.145366

[11]   Boetticher, G., Srinivas, K. and Eichmann, D. (1993) A Neural Net-Based Approach to Software Metrics. Proceedings of the 5th International Conference on Software Engineering and Knowledge Engineering, San Francisco, 16-18 June 1993, 271-274.

[12]   Boetticher, G. and Eichmann, D. (1993) A Neural Net Paradigm for Characterizing Reusable Software. Proceedings of the 1st Australian Conference on Software Metrics, University of Houston, 18-19 November 1993, 41-49.

[13]   Boetticher, G. (1995) Characterizing Object-Oriented Software for Reusability in a Commercial Environment. Reuse’ 95 Making Reuse Happen—Factors for Success, Morgantown, August 1995.

[14]   Boetticher, G. (2001) An Assessment of Metric Contribution in the Construction of a Neural Network-Based Effort Estimator. 2nd International Workshop on Soft Computing Applied to Software Engin-eering, Enschede, 8-9 February 2001, 234-235.

[15]   Boetticher, G. (2001) Using Machine Learning to Predict Project Effort: Empirical Case Studies in Data-Starved Domains. Workshop on Model-Based Requirements Engineering, San Diego, 30 Nove-mber 2001, 17-24.

[16]   Kumar, S., Krishna, B.A. and Satsangi, P.J. (1994) Fuzzy Systems and Neural Networks in Software Engineering Project Management. Journal of Applied Intelligence, 4, 31-52.
http://dx.doi.org/10.1007/BF00872054

[17]   Srinivasan, K. and Fisher, D. (1995) Machine Learning Approaches to Estimating Software Development Effort. IEEE Transactions on Software Engineering, 21, 126-137.
http://dx.doi.org/10.1109/32.345828

[18]   Boetticher, G.D. (2003) Applying Machine Learners to GUI Specifications in Formulating Early Life Cycle Project Estimations. In: Khoshgoftaar, T.M., Ed., Software Engineering with Computational Intelligence, Springer, New York, 1-16. http://dx.doi.org/10.1007/978-1-4615-0429-0_1

[19]   Khoshgoftaar, T.M., Ed. (2003) Software Engineering with Computational Intelligence. Springer, New York. http://dx.doi.org/10.1007/978-1-4615-0429-0

[20]   Gayathri, M. and Sudha, A. (2014) Software Defect Prediction System using Multilayer Perceptron Neural Network with Data Mining. International Journal of Recent Technology and Engineering, 3, 54-59.

[21]   Singh, M. and Salaria, D.S. (2013) Software Defect Prediction Tool based on Neural Network. International Journal of Computer Applications, 70, 22-28. http://dx.doi.org/10.5120/12200-8368

[22]   Crosby, P. (1979) Quality Is Free: The Art of Making Quality Certain. McGraw-Hill, New York.

[23]   Singh, S. and Singh, M. (2012) Software Defect Prediction using Adaptive Neural Networks. International Journal of Applied Information Systems, 4, 29-33.
http://dx.doi.org/10.5120/ijais12-450612

[24]   Katiyar, N. and Singh, R. (2011) Prediction of Software Development Faults Using Neural Network. VSRD-IJCSIT, 1, 556-566.

[25]   Juran, J. and Gryna, F. (1988) Quality Control Handbook. 4th Edition, McGraw-Hill, New York.

[26]   Neural Network Toolbox? User’s Guide, 2015.

[27]   Hochman, R., Khoshgoftaar, T.M., Allen, E.B. and Hudepohl, J.P. (2003) Improved Fault-Prone Detection Analysis of Software Modules Using an Evolutionary Neural Network Approach. In: Khoshgoftaar, T.M., Ed., Software Engineering with Computational Intelligence, Springer, New York, 69-100. http://dx.doi.org/10.1007/978-1-4615-0429-0_4

 
 
Top