Abstracts - 2007
Where Should I Fix This Bug Report?
Sunghun Kim, Kah Seng Tay & Michael D. Ernst
In the software industry, there are many new bug reports everyday. Software managers usually assign bugs to the best developers by reading the bug report. Then software developers must read the bug report carefully to locate the bugs in the source code. The task of finding the location of a bug based purely on the bug report is both non-trivial and time consuming. This increased effort is especially so for new developers who may not be familiar with the code base.
We want to predict the location of potential bugs based on the previous bug report. We mine previous bug reports that have been resolved as 'Fixed,' and their corresponding bug location fixes (usually within a version control system). We then try to match new bugs that have been found with any similar bugs that have been fixed in the past. Based on an analysis of the history of these bug fixes, we recommend a potential bug location for the new bug report.
It is hard to isolate the actual bug location in the source code. This task is time-consuming, boring, and inefficient for the software development process, and is especially so for new developers unfamiliar with the code base.
We want to develop a bug location predictor for a new bug report. The predictor mines previous bug reports and the corresponding bug fixes history in order to predict bug locations for newly reported bugs.
We mine previous bug report and fix history to predict locations for new bug reports. If a new bug report arrives, we search similar previous reports using the report text similarity or other feature similarity such as authors, problem types, and modules. The found similar previous bug reports and their fix records will guide us the locations for the new bug report.
Recent bug report mining research yields reasonable results on bug fix-time prediction and automation bug assignment. Anvik et al. propose an automatic algorithm to assign a new bug report to the best developer based on the previous bug report assignment history . Similarly, by mining previous bug fix-times, it is possible to predict a bug fix-time for a new bug that is reported . Our approach is similar to theirs, with the focus instead on the bug locations.
 J. Anvik, L. Hiew, and G. C. Murphy, "Who Should Fix This Bug?" proceedings of 2006 International Conference on Software Engineering (ICSE 2006), Shanghai, China, 2006.
 C. Weiß, R. Premraj, T. Zimmermann, and A. Zeller, "How Long will it Take to Fix This Bug?" proceedings of Int'l Workshop on Mining Software Repositories (MSR 2007), Minneapolis, USA, 2007.