Data and Documentation
Open Data Policy
FAQ
EN
DE
FR
Suchbegriff
Advanced search
Publication
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
URL
http://scg.unibe.ch/archive/papers/Osma17f-EfficientBugPrediction.pdf
Type of Open Access
Website
Abstract
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.
-