Sign inSubmit
computersciencejournal.org is not ours. This journal is published only at thescipub.com/jcs. Report a suspicious emailcomputersciencejournal.org is not ours · Report
ArticleMetrics
Review Article · Open access · Published 14 November 2020

Machine Learning Techniques for Software Bug Prediction: A Systematic Review

Syahana Nur’Ain Saharudin1, Koh Tieng Wei1 & Kew Si Na2

Journal of Computer Science, Volume 16, Issue 11, pp. 1558–1569 · doi.org/10.3844/jcssp.2020.1558.1569

9,377 accesses6,405 downloads15 citations (Crossref)Metrics
Cite Check for updates

Abstract

The goal of software bug prediction is to identify the software modules that will have the likelihood to get bugs by using some fundamental project resources before the real testing starts. Due to high cost in correcting the detected bugs, it is advisable to start predicting bugs at the early stage of development instead of at the testing phase. There are many techniques and approaches that can be used to build the prediction models, such as machine learning. This technique is widely used nowadays because it can give accurate results and analysis. Therefore, we decided to perform a review of past literature on software bug prediction and machine learning so that we can understand better about the process of constructing the prediction model. Not only we want to see the machine learning techniques that past researchers used, we also assess the datasets, metrics and performance measures that are used during the development of the models. In this study, we have narrowed down to 31 main studies and six types of machine learning techniques have been identified. Two public datasets are found to be frequently used and object-oriented metrics are the highly chosen metrics for the prediction model. As for the performance measure, both graphical and numerical measures are often used to evaluate the performance of the models. From the results, we conclude that the machine learning technique can predict the bug, but there are not many applications in this area that exist nowadays. There are a few challenges in constructing the prediction model. Thus, more studies need to be carried out so that a well-formed result is obtained. We also provide a recommendation for future research based on the results we got from this study.

Licence and reuse

Open access. This article is licensed under a Creative Commons Attribution 3.0 Licence (CC BY 3.0), as printed on the article, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original authors and the source. No permission is needed.

How to reuse this article

Responses (0)

Have a comment on this research? Sign in to respond. Responses are moderated and published with your name and affiliation; the authors are invited to reply. How we use your dataWrite a response

About this article

Cite this article

Saharudin, S. N., Wei, K. T. & Na, K. S. (2020). Machine Learning Techniques for Software Bug Prediction: A Systematic Review. Journal of Computer Science, 16(11), 1558–1569. https://doi.org/10.3844/jcssp.2020.1558.1569

Licence
CC BY 3.0
Issue
Volume 16, Issue 11
Policies
Editorial independenceUse of generative AIData availabilityAppeals and complaints
Version
Version of record
Machine Learning Techniques for Software Bug Prediction: A Systematic ReviewJournal of Computer Science · Volume 16, Issue 11 · pp. 1558–1569 · CC BY 3.0Download