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 。

0
下载
关闭预览

相关内容

《工程》是中国工程院(CAE)于2015年推出的国际开放存取期刊。其目的是提供一个高水平的平台,传播和分享工程研发的前沿进展、当前主要研究成果和关键成果;报告工程科学的进展,讨论工程发展的热点、兴趣领域、挑战和前景,在工程中考虑人与环境的福祉和伦理道德,鼓励具有深远经济和社会意义的工程突破和创新,使之达到国际先进水平,成为新的生产力,从而改变世界,造福人类,创造新的未来。 期刊链接:https://www.sciencedirect.com/journal/engineering
【2020新书】Kafka实战:Kafka in Action,209页pdf
专知会员服务
67+阅读 · 2020年3月9日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
151+阅读 · 2019年10月12日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
103+阅读 · 2019年10月9日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
已删除
生物探索
3+阅读 · 2018年2月10日
Arxiv
12+阅读 · 2020年6月20日
Arxiv
6+阅读 · 2018年3月25日
Arxiv
3+阅读 · 2018年2月24日
VIP会员
相关VIP内容
【2020新书】Kafka实战:Kafka in Action,209页pdf
专知会员服务
67+阅读 · 2020年3月9日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
151+阅读 · 2019年10月12日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
103+阅读 · 2019年10月9日
相关资讯
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
已删除
生物探索
3+阅读 · 2018年2月10日
Top
微信扫码咨询专知VIP会员