当前位置: X-MOL 学术Automat. Softw. Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Locating bugs without looking back
Automated Software Engineering ( IF 2.0 ) Pub Date : 2017-10-10 , DOI: 10.1007/s10515-017-0226-1
Tezcan Dilshener , Michel Wermelinger , Yijun Yu

Bug localisation is a core program comprehension task in software maintenance: given the observation of a bug, e.g. via a bug report, where is it located in the source code? Information retrieval (IR) approaches see the bug report as the query, and the source code files as the documents to be retrieved, ranked by relevance. Such approaches have the advantage of not requiring expensive static or dynamic analysis of the code. However, current state-of-the-art IR approaches rely on project history, in particular previously fixed bugs or previous versions of the source code. We present a novel approach that directly scores each current file against the given report, thus not requiring past code and reports. The scoring method is based on heuristics identified through manual inspection of a small sample of bug reports. We compare our approach to eight others, using their own five metrics on their own six open source projects. Out of 30 performance indicators, we improve 27 and equal 2. Over the projects analysed, on average we find one or more affected files in the top 10 ranked files for 76% of the bug reports. These results show the applicability of our approach to software projects without history.

中文翻译:

无需回头即可定位错误

错误定位是软件维护中的核心程序理解任务:给定对错误的观察,例如通过错误报告,它在源代码中的位置?信息检索 (IR) 方法将错误报告视为查询,将源代码文件视为要检索的文档,按相关性排序。这种方法的优点是不需要对代码进行昂贵的静态或动态分析。然而,当前最先进的 IR 方法依赖于项目历史,特别是先前修复的错误或源代码的先前版本。我们提出了一种新颖的方法,可以根据给定的报告直接对每个当前文件进行评分,因此不需要过去的代码和报告。评分方法基于通过手动检查错误报告的小样本确定的启发式方法。我们将我们的方法与其他八个方法进行了比较,在他们自己的六个开源项目中使用了他们自己的五个指标。在 30 项性能指标中,我们提高了 27 分,等于 2 分。在分析的项目中,我们发现平均有 76% 的错误报告在排名前 10 的文件中有一个或多个受影响的文件。这些结果表明我们的方法适用于没有历史的软件项目。
更新日期:2017-10-10
down
wechat
bug