Back to overview

An Extensive Analysis of Efficient Bug Prediction Configurations

Type of publication Peer-reviewed
Publikationsform Proceedings (peer-reviewed)
Author Osman Haidar, Ghafari Mohammad, Nierstrasz Oscar, Lungu Mircea,
Project Agile Software Analysis
Show all

Proceedings (peer-reviewed)

Page(s) 107 - 116
ISBN 978-1-4503-5305-2
Title of proceedings Proceedings of the 13th International Conference on Predictive Models and Data Analytics in Software Engineering
DOI 10.1145/3127005.3127017

Open Access


Background: Bug prediction helps developers steer maintenance activities towards the buggy parts of a software. There are many design aspects to a bug predictor, each of which has several options, i.e. software metrics, machine learning model, and response variable. Aims: These design decisions should be judiciously made because an improper choice in any of them might lead to wrong, misleading, or even useless results. We argue that bug prediction configurations are intertwined and thus need to be evaluated in their entirety, in contrast to the common practice in the field where each aspect is investigated in isolation. Method: We use a cost-aware evaluation scheme to evaluate 60 different bug prediction configuration combinations on five open source Java projects. Results: We find out that the best choices for building a cost-effective bug predictor are change metrics mixed with source code metrics as independent variables, Random Forest as the machine learning model, and the number of bugs as the response variable. Combining these configuration options results in the most efficient bug predictor across all subject systems. Conclusions: We demonstrate a strong evidence for the interplay among bug prediction configurations and provide concrete guidelines for researchers and practitioners on how to build and evaluate efficient bug predictors.