An Extensive Analysis of Efficient Bug Prediction Configurations

Haidar Osman, Mohammad Ghafari, Oscar Nierstrasz, and Mircea Lungu. An Extensive Analysis of Efficient Bug Prediction Configurations. In Proceedings of the The 13th International Conference on Predictive Models and Data Analytics in Software Engineering, PROMISE 2017, 2017. Details.


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.

Posted by scg at 14 August 2017, 3:15 pm link
Last changed by admin on 21 April 2009