Software Defect Identification Using Machine Learning Techniques

Software engineering is a tedious job that includes people, tight deadlines and limited budgets. Delivering what customer wants involves minimizing the defects in the programs. Hence, it is important to establish quality measures early on in the project life cycle. The main objective of this research is to analyze problems in software code and propose a model that will help catching those problems earlier in the project life cycle. Our proposed model uses machine learning methods. Principal component analysis is used for dimensionality reduction, and decision tree, multi layer perceptron and radial basis functions are used for defect prediction. The experiments in this research are carried out with different software metric datasets that are obtained from real-life projects of three big software companies in Turkey. We can say that, the improved method that we proposed brings out satisfactory results in terms of defect prediction

[1]  William A. Florac,et al.  Practical Software Measurement: Measuring for Process Management and Improvement, , 1997 .

[2]  Sallie M. Henry,et al.  The evaluation of software systems' structure using quantitative software metrics , 1984, Softw. Pract. Exp..

[3]  Norman E. Fenton,et al.  Software Measurement: Uncertainty and Causal Modeling , 2002, IEEE Softw..

[4]  David Eichmann,et al.  A Neural Net-Based Approach to Software Metrics , 1992, SEKE.

[5]  Donald E. Neumann An Enhanced Neural Network Technique for Software Risk Analysis , 2002, IEEE Trans. Software Eng..

[6]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[7]  Norman E. Fenton,et al.  A Critique of Software Defect Prediction Models , 1999, IEEE Trans. Software Eng..

[8]  Thomas G. Dietterich What is machine learning? , 2020, Archives of Disease in Childhood.

[9]  Du Zhang,et al.  APPLYING MACHINE LEARNING ALGORITHMS IN SOFTWARE DEVELOPMENT , 2000 .

[10]  Horst Zuse,et al.  A Framework of Software Measurement , 1998 .

[11]  David Leon,et al.  Finding failures by cluster analysis of execution profiles , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[12]  Linda H. Rosenberg,et al.  SOFTWARE METRICS AND RELIABILITY , 1998 .

[13]  Yuriy Brun,et al.  Finding latent code errors via machine learning over program executions , 2004, Proceedings. 26th International Conference on Software Engineering.

[14]  Linda H. Rosenberg,et al.  Metrics in software process assessment, quality assurance and risk assessment , 1994, Proceedings of 1994 IEEE 2nd International Software Metrics Symposium.