Abstract

Software Bug Prediction (SBP) is an important issue in software development and maintenance processes, which concerns with the overall of software successes. This is because predicting the software faults in earlier phase improves the software quality, reliability, efficiency and reduces the software cost. However, developing robust bug prediction model is a challenging task and many techniques have been proposed in the literature. This paper presents a software bug prediction model based on machine learning (ML) algorithms. Three supervised ML algorithms have been used to predict future software faults based on historical data. These classifiers are Naive Bayes (NB), Decision Tree (DT) and Artificial Neural Networks (ANNs). The evaluation process showed that ML algorithms can be used effectively with high accuracy rate. Furthermore, a comparison measure is applied to compare the proposed prediction model with other approaches. The collected results showed that the ML approach has a better performance.

Highlights

  • The existence of software bugs affects dramatically on software reliability, quality and maintenance cost

  • The study presented important results including that the Artificial Neural Networks (ANNs) has lowest error rate followed by Decision Tree (DT), but the linear classifier is better than other algorithms in term of defect prediction accuracy, the most popular methods used in software defect prediction are: DT, BL, ANN, SVM, RBL and EA, and the common metrics used in software defect prediction studies are: Line Of Code (LOC) metrics, object oriented metrics such as cohesion, coupling and inheritance, other metrics called hybrid metrics which used both object oriented and procedural metrics, the results showed that most software defect prediction studied used

  • Experimental results are collected based on accuracy, precision, recall, F-measure, and Root Mean Square Error (RMSE)

Read more

Summary

INTRODUCTION

The existence of software bugs affects dramatically on software reliability, quality and maintenance cost. Software bug prediction is an essential activity in software development. This is because predicting the buggy modules prior to software deployment achieves the user satisfaction, improves the overall software performance. Predicting the software bug early improves software adaptation to different environments and increases the resource utilization. The ML techniques are used extensively in SBP to predict the buggy modules based on historical fault data, essential metrics and different software computing techniques. Three supervised ML learning classifiers are used to evaluate the ML capabilities in SBP. The discussed ML classifiers are applied to three different datasets obtained from [1] and [2] works.

RELATED WORK
Confusion Matrix
Accuracy
EXPERIMENTAL RESULTS
F-measure
CONCLUSIONS AND FUTURE WORK
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.