Software Quality Prediction Using Machine Learning Techniques

Author(s):  
Somya Goyal ◽  
Pradeep Kumar Bhatia
2020 ◽  
Vol 11 (2) ◽  
pp. 20-40
Author(s):  
Somya Goyal ◽  
Pradeep Kumar Bhatia

Software quality prediction is one the most challenging tasks in the development and maintenance of software. Machine learning (ML) is widely being incorporated for the prediction of the quality of a final product in the early development stages of the software development life cycle (SDLC). An ML prediction model uses software metrics and faulty data from previous projects to detect high-risk modules for future projects, so that the testing efforts can be targeted to those specific ‘risky' modules. Hence, ML-based predictors contribute to the detection of development anomalies early and inexpensively and ensure the timely delivery of a successful, failure-free and supreme quality software product within budget. This article has a comparison of 30 software quality prediction models (5 technique * 6 dataset) built on five ML techniques: artificial neural network (ANN); support vector machine (SVMs); Decision Tree (DTs); k-Nearest Neighbor (KNN); and Naïve Bayes Classifiers (NBC), using six datasets: CM1, KC1, KC2, PC1, JM1, and a combined one. These models exploit the predictive power of static code metrics, McCabe complexity metrics, for quality prediction. All thirty predictors are compared using a receiver operator curve (ROC), area under the curve (AUC), and accuracy as performance evaluation criteria. The results show that the ANN technique for software quality prediction is promising for accurate quality prediction irrespective of the dataset used.


Author(s):  
Vanyashree Mardi ◽  
Naresh E. ◽  
Vijaya Kumar B. P.

In the current era, software development and software quality has become extensively important for implementing the real-world software application, and it will enhance the software functionality. Moreover, early prediction of expected error and fault level in the quality process is critical to the software development process. Deep learning techniques are the most appropriate methods for this problem, and this chapter carries out an extensive systematic survey on a variety of deep learning. These techniques are used in the software quality process along with a hypothesis justification for each of the proposed solutions. The deep learning and machine learning techniques are considered to be the most suitable systems for software quality prediction. Deep learning is a computational model made up of various hidden layers of investigation used to portray of information with the goal that researchers can better understand complex information issues.


Author(s):  
Saumendra Pattnaik ◽  
Binod Kumar Pattanayak ◽  
Srikanta Patnaik

In the global market, the value of software quality is a major factor in software industries. In a majority of cases, software quality needs to be quantified and measured. Previously, many models like the ISO model, the McCall model, the Boehm model, etc., have been used for the quantification of the parameters which determine the software quality. The software quality can be judged by analyzing all the characteristics of the product. In this article, a new pragmatic model which is the modification of the existing ISO Model has been proposed in order for the quantification of the software quality factors in a more precise way. Because of the nature of the attributes which determine the software quality, a Fuzzy logic-based approach is considered to be a better technique among various existing machine learning techniques. Here, the simulink tool is used for constructing the running model which helps the net quality of the software.


To improve the software quality the number of errors or faults must be removed from the software. This chapter presents a study towards machine learning and software quality prediction as an expert system. The purpose of this chapter is to apply the machine learning approaches such as case-based reasoning to predict software quality. Five different similarity measures, namely, Euclidean, Canberra, Exponential, Clark and Manhattan are used for retrieving the matching cases from the knowledgebase. The use of different similarity measures to find the best method significantly increases the estimation accuracy and reliability. Based on the research findings in this book it can be concluded that applying similarity measures in case-based reasoning may be a viable technique for software fault prediction


2012 ◽  
Vol 37 (5) ◽  
pp. 1-7 ◽  
Author(s):  
Ekbal Rashid ◽  
Srikanta Patnayak ◽  
Vandana Bhattacherjee

Sign in / Sign up

Export Citation Format

Share Document