Abstract

Software bugs are defects or faults in computer programs or systems that cause incorrect or unexpected operations. These negatively affect software quality, reliability, and maintenance cost; therefore many researchers have already built and developed several models for software bug prediction. Till now, a few works have been done which used machine learning techniques for software bug prediction. The aim of this paper is to present comprehensive study on machine learning techniques that were successfully used to predict software bug. Paper also presents a software bug prediction model based on supervised machine learning algorithms are Decision Tree (DT), Naïve Bayes (NB), Random Forest (RF) and Logistic Regression (LR) on four datasets. We compared the results of our proposed models with those of the other studies. The results of this study demonstrated that our proposed models performed better than other models that used the same data sets. The evaluation process and the results of the study show that machine learning algorithms can be used effectively for prediction of bugs.

Highlights

  • Due to the increasing size, complexity of software products and inadequate software testing no system or software can claim to be bugs free

  • Software Bug Prediction (SBP) is a process of generating machine learning models to predict software defects based on historical data

  • 4) RQ4: What the conclusions can we draw about the efficiencies of machine learning techniques for software bug prediction from results presented in the selected studies?: To answer this research question, this study evaluates the best machine learning techniques for devolving an effective model for software bug prediction through evaluating the presented software bug prediction models in previous studies

Read more

Summary

INTRODUCTION

Due to the increasing size, complexity of software products and inadequate software testing no system or software can claim to be bugs free. There are different classifications of bugs in software testing like Major defect: a defect, which will cause an observable product failure or deviation from functional requirements. The use of analytical methods to check and review source codes is standard development practice. There must be found another methodology or approach for static code analysis such as Machine Learning (ML) algorithms [1], [9], [12]. SBP is a process of generating machine learning models (classifiers) to predict software (code) defects based on historical data. Four supervised machine learning models are identified and utilized on four different datasets to evaluate the Machine learning algorithms capabilities in software bug prediction.

SOFTWARE BUG PREDICTION BY ANALYZING STATIC CODE
MACHINE LEARNING TECHNIQUES
LITERATURE REVIEW
Study Selection
Research Questions
RESEARCH METHODOLOGY
Motivation
CLASSIFIERS USED FOR SOFTWARE BUG PREDICTION IN THIS STUDY
VIII. BUILDING AND EVALUATION OF PREDICTION MODELS
AND DISCUSSION
Findings
CONCLUSION

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.