A survey in the area of machine learning and its application for software quality prediction

This paper explores software quality improvement through early prediction of error patterns. It summarizes a variety of techniques for software quality prediction in the domain of software engineering. The objective of this research is to apply the various machine learning approaches, such as Case-Based Reasoning and Fuzzy logic, to predict software quality. The system predicts the error after accepting the values of certain parameters of the software. This paper advocates the use of case-based reasoning (i.e., CBR) to build a software quality prediction system with the help of human experts. The prediction is based on analogy. We have used different similarity measures to find the best method that increases reliability. This software is compiled using Turbo C++ 3.0 and hence it is very compact and standalone. It can be readily deployed on any configuration without affecting its performance.

[1]  Du Zhang,et al.  Machine Learning Application in Software Engineering , 2005 .

[2]  Venkata U. B. Challagulla,et al.  Empirical assessment of machine learning based software defect prediction techniques , 2005, 10th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems.

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

[4]  Taghi M. Khoshgoftaar,et al.  An empirical study of the impact of count models predictions on module-order models , 2002, Proceedings Eighth IEEE Symposium on Software Metrics.

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

[6]  Venkata U. B. Challagulla,et al.  A Unified Framework for Defect Data Analysis Using the MBR Technique , 2006, 2006 18th IEEE International Conference on Tools with Artificial Intelligence (ICTAI'06).

[7]  Taghi M. Khoshgoftaar,et al.  Unsupervised learning for expert-based software quality estimation , 2004, Eighth IEEE International Symposium on High Assurance Systems Engineering, 2004. Proceedings..

[8]  Ekbal Rashid,et al.  Strategies Towards Improving Software Code Quality in Computing , 2012 .

[9]  Du Zhang,et al.  Advances in Machine Learning Applications in Software Engineering , 2007 .

[10]  Deepak Kumar Gupta,et al.  Comparative Study of Soft Computing Techniques for Software Quality , 2011 .

[11]  David L. Waltz,et al.  Applications of the Connection Machine , 1990, Computer.

[12]  Ekbal Rashid,et al.  The Application of Case-Based Reasoning to Estimation of Software Development Effort , 2012 .

[13]  Shari Lawrence Pfleeger,et al.  Software metrics (2nd ed.): a rigorous and practical approach , 1997 .

[14]  Peter Kokol,et al.  Estimating Software Quality with Advanced Data Mining Techniques , 2006, 2006 International Conference on Software Engineering Advances (ICSEA'06).

[15]  Ivan Bratko,et al.  Machine Learning and Data Mining; Methods and Applications , 1998 .

[16]  Adam Trendowicz,et al.  Quality Modeling for Software Product Lines , 2003 .

[17]  Barbara A. Kitchenham,et al.  An investigation of analysis techniques for software datasets , 1999, Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403).

[18]  ReasoningSimon,et al.  Towards a Framework for Memory-Based , 1995 .

[19]  Jeffrey J. P. Tsai,et al.  Machine Learning and Software Engineering , 2004, Software Quality Journal.

[20]  Stefan Biffl,et al.  Optimal project feature weights in analogy-based cost estimation: improvement and limitations , 2006, IEEE Transactions on Software Engineering.

[21]  David L. Waltz,et al.  Toward memory-based reasoning , 1986, CACM.

[22]  Vandana Bhattacherjee The Soft Computing Approach to Program Development Time Estimation , 2006, 9th International Conference on Information Technology (ICIT'06).