Where should we fix this bug? A two-phase recommendation model

Dongsun Kim, Yida Tao, Sunghun Kim, Andreas Zeller

Research output: Contribution to journalArticlepeer-review

150 Scopus citations

Abstract

To support developers in debugging and locating bugs, we propose a two-phase prediction model that uses bug reports' contents to suggest the files likely to be fixed. In the first phase, our model checks whether the given bug report contains sufficient information for prediction. If so, the model proceeds to predict files to be fixed, based on the content of the bug report. In other words, our two-phase model "speaks up" only if it is confident of making a suggestion for the given bug report; otherwise, it remains silent. In the evaluation on the Mozilla "Firefox" and "Core" packages, the two-phase model was able to make predictions for almost half of all bug reports; on average, 70 percent of these predictions pointed to the correct files. In addition, we compared the two-phase model with three other prediction models: the Usual Suspects, the one-phase model, and BugScout. The two-phase model manifests the best prediction performance.

Original languageEnglish
Article number6517844
Pages (from-to)1597-1610
Number of pages14
JournalIEEE Transactions on Software Engineering
Volume39
Issue number11
DOIs
StatePublished - 2013

Keywords

  • Bug reports
  • Machine learning
  • Patch file prediction

Fingerprint

Dive into the research topics of 'Where should we fix this bug? A two-phase recommendation model'. Together they form a unique fingerprint.

Cite this