Method-level bug prediction

E Giger, M D'Ambros, M Pinzger, HC Gall - Proceedings of the ACM …, 2012 - dl.acm.org
Proceedings of the ACM-IEEE international symposium on Empirical software …, 2012dl.acm.org
Researchers proposed a wide range of approaches to build effective bug prediction models
that take into account multiple aspects of the software development process. Such models
achieved good prediction performance, guiding developers towards those parts of their
system where a large share of bugs can be expected. However, most of those approaches
predict bugs on file-level. This often leaves developers with a considerable amount of effort
to examine all methods of a file until a bug is located. This particular problem is reinforced by …
Researchers proposed a wide range of approaches to build effective bug prediction models that take into account multiple aspects of the software development process. Such models achieved good prediction performance, guiding developers towards those parts of their system where a large share of bugs can be expected. However, most of those approaches predict bugs on file-level. This often leaves developers with a considerable amount of effort to examine all methods of a file until a bug is located. This particular problem is reinforced by the fact that large files are typically predicted as the most bug-prone. In this paper, we present bug prediction models at the level of individual methods rather than at file-level. This increases the granularity of the prediction and thus reduces manual inspection efforts for developers. The models are based on change metrics and source code metrics that are typically used in bug prediction. Our experiments---performed on 21 Java open-source (sub-)systems---show that our prediction models reach a precision and recall of 84% and 88%, respectively. Furthermore, the results indicate that change metrics significantly outperform source code metrics.
ACM Digital Library