Bug localization is a tedious activity in the bug fixing process in which a software developer tries to locate bugs in the source code described in a bug report. Since this process is time-consuming and sometimes requires additional knowledge about the software project, current literature proposes several information retrieval techniques which can aid the bug localization process. However, recent research questioned the state-of-the-art approaches, since they are barely adopted in practical scenarios. In this paper, we introduce anew bug localization approach, called Broccoli, which uses techniques from previous approaches and extends them with a search engine to improve the localization. Primarily, we utilize a search engine to find similar source code locations and prior bug reports that are comparable to the new bug report. We combine these search engine techniques with information retrieval techniques used by previous approaches. In a case study, we evaluate the performance of our search engine approach against seven bug localization algorithms on 82 open source projects in two data sets. In the first data set, we are not able to show a significant difference between Broccoli and Locus. However, the search engine approach has the highest Mean Reciprocal Rank(MRR) and Mean Average Precision (MAP) value on average and exceeds the other algorithm by 7% - 77%(MAP) and 6% - 108% (MRR). In the second data set, the MAP and MRR value of Broccoli is also higher than the state-of-the-art on average with a better 9% - 107% MAP value and 32% - 173% better MRR value. However, we are not able to show a significant difference between Broccoli and BRTracer+ in the statistical analysis regarding the MRR metric.
翻译:错误本地化是一个臭虫修正过程中的烦琐活动, 其中软件开发者试图在错误报告中描述的源代码代码中定位错误。 由于此过程耗时且有时需要更多有关软件工程的知识, 当前的文献建议了一些信息检索技术, 有助于错误本地化进程。 然而, 最近的研究质疑了最新工艺方法, 因为在实际情况下它们几乎没有被采用。 在本文中, 我们引入了一个新的错误本地化方法, 叫做Broccoli, 使用以前方法的技术, 并用搜索引擎来改进本地化。 但是, 我们使用一个搜索引擎来找到类似的源代码位置和与新错误报告相似的先前错误报告。 我们将这些搜索引擎技术与先前方法使用的信息检索技术结合起来。 在一项案例研究中, 我们用82个开放源项目中的7个错误本地化算法来评估我们搜索引擎方法的性能。 在第一个数据集中, 我们无法显示Broccoli与Lus之间的显著差异。 然而, 搜索引擎方法在 RAS RB 中, 最高值为 RRCR%, 和 平均数值中为 7 。