论文标题

fonte:查找因失败引起犯罪的错误

Fonte: Finding Bug Inducing Commits from Failures

论文作者

An, Gabin, Hong, Jingun, Kim, Naryeong, Yoo, Shin

论文摘要

诱导错误提交(BIC)是将软件错误引入代码库中的提交。了解给定错误的相关BIC可以提供有价值的信息,以调试和错误分类。但是,现有的BIC识别技术要么太昂贵(因为它们需要针对以前的分符而执行的失败测试),要么在调试时间不适用(因为它们需要诸如错误报告或错误修复之类的Hoc hoc trakacts)。我们提出了Fonte,这是一种仅需要测试覆盖范围的有效而准确的BIC识别技术。 Fonte将故障定位(FL)与BIC识别结合在一起,并根据其修改的代码元素的可疑性进行排名。 Fonte使用故障覆盖范围以及检测到仅是样式变化的投入的过滤器来减少BIC的搜索空间。我们使用130个现实世界的经验评估表明,基于信息检索以及神经代码嵌入模型,Fonte显着超过了最先进的BIC识别技术,其MRR至少提高了39%。我们还报告说,Fonte产生的排名得分可用于执行加权分配,从而进一步降低了BIC识别的成本。最后,我们将Fonte应用于一个大型行业项目,该项目具有超过1000万行的代码,并证明它可以在前五名提交中对实际的BIC进行排名,其中87%的实际批次测试失败,并将BIC检查成本平均节省32%。

A Bug Inducing Commit (BIC) is a commit that introduces a software bug into the codebase. Knowing the relevant BIC for a given bug can provide valuable information for debugging as well as bug triaging. However, existing BIC identification techniques are either too expensive (because they require the failing tests to be executed against previous versions for bisection) or inapplicable at the debugging time (because they require post hoc artefacts such as bug reports or bug fixes). We propose Fonte, an efficient and accurate BIC identification technique that only requires test coverage. Fonte combines Fault Localisation (FL) with BIC identification and ranks commits based on the suspiciousness of the code elements that they modified. Fonte reduces the search space of BICs using failure coverage as well as a filter that detects commits that are merely style changes. Our empirical evaluation using 130 real-world BICs shows that Fonte significantly outperforms state-of-the-art BIC identification techniques based on Information Retrieval as well as neural code embedding models, achieving at least 39% higher MRR. We also report that the ranking scores produced by Fonte can be used to perform weighted bisection, further reducing the cost of BIC identification. Finally, we apply Fonte to a large-scale industry project with over 10M lines of code, and show that it can rank the actual BIC within the top five commits for 87% of the studied real batch-testing failures, and save the BIC inspection cost by 32% on average.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源