A Review of Machine Learning Techniques for Software Quality Prediction

Successful implementation of a software product entirely depends on the quality of the software developed. However, prediction of the quality of a software product prior to its implementation in real-world applications presents significant challenges to the software developer during the process of development. A limited spectrum of research in this area has been reported in the literature as of today. Most of the researchers have concentrated their research work on software quality prediction using various machine learning techniques. Another aspect pertaining to software quality prediction is that the prediction must be achieved in the earlier stages of software development life cycle in order to reduce the amount of effort required by the developer in course of the development of a software product. In this paper, we carry out a comprehensive review of machine learning techniques which have been used to predict software quality.

[1]  Taghi M. Khoshgoftaar,et al.  Improving tree-based models of software quality with principal components analysis , 2000, Proceedings 11th International Symposium on Software Reliability Engineering. ISSRE 2000.

[2]  Taghi M. Khoshgoftaar,et al.  Software Quality Classification Modeling Using the SPRINT Decision Tree Algorithm , 2003, Int. J. Artif. Intell. Tools.

[3]  Taghi M. Khoshgoftaar,et al.  An empirical study of predicting software faults with case-based reasoning , 2006, Software Quality Journal.

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

[5]  Alain Abran,et al.  A fuzzy logic based set of measures for software project similarity: validation and possible improvements , 2001, Proceedings Seventh International Software Metrics Symposium.

[6]  Lukasz Radlinski,et al.  A conceptual Bayesian net model for integrated software quality prediction , 2011, Ann. UMCS Informatica.

[7]  Luigi Benedicenti,et al.  Bayesian Network Based XP Process Modelling , 2010, ArXiv.

[8]  Ajit Pratap Singh,et al.  Integrated Software Quality Evaluation: A Fuzzy Multi-Criteria Approach , 2011, J. Inf. Process. Syst..

[9]  Moataz A. Ahmed,et al.  Machine learning approaches for predicting software maintainability: a fuzzy-based transparent model , 2013, IET Softw..

[10]  Binod Kumar Pattanayak,et al.  A survey on machine learning techniques used for software quality prediction , 2016, Int. J. Reason. based Intell. Syst..

[11]  Taghi M. Khoshgoftaar,et al.  Predicting fault-prone modules with case-based reasoning , 1997, Proceedings The Eighth International Symposium on Software Reliability Engineering.

[12]  Abhijit S. Pandya,et al.  A neural network approach for predicting software development faults , 1992, [1992] Proceedings Third International Symposium on Software Reliability Engineering.

[13]  Sousuke Amasaki,et al.  Constructing a Bayesian Belief Network to Predict Final Quality in Embedded System Development , 2005, IEICE Trans. Inf. Syst..

[14]  L. Darrell Whitley,et al.  Using neural networks in reliability prediction , 1992, IEEE Software.

[15]  Aditi Puri,et al.  GENETIC ALGORITHM BASED APPROACH FOR FINDING FAULTY MODULES IN OPEN SOURCE SOFTWARE SYSTEMS , 2014 .

[16]  Binod Kumar Pattanayak,et al.  Prediction of software quality using neuro-fuzzy model , 2018 .

[17]  K. Sankar,et al.  Prediction of Code Fault Using Naive Bayes and SVM Classifiers , 2014 .

[18]  Danielle Azar,et al.  An ant colony optimization algorithm to improve software quality prediction models: Case of class stability , 2011, Inf. Softw. Technol..

[19]  Taghi M. Khoshgoftaar,et al.  Tree-based software quality estimation models for fault prediction , 2002, Proceedings Eighth IEEE Symposium on Software Metrics.

[20]  Ekbal Rashid,et al.  Software Quality Estimation using Machine Learning: Case-based Reasoning Technique , 2012 .

[21]  Satwinder Singh,et al.  Predicting Software Defects through SVM: An Empirical Approach , 2018, ArXiv.