Numerous efforts have been invested in improving the effectiveness of bug localization techniques, whereas little attention is paid to making these tools run more efficiently in continuously evolving software repositories. This paper first analyzes the information retrieval model behind a classic bug localization tool, BugLocator, and builds a mathematical foundation that the model can be updated incrementally when codebase or bug reports evolve. Then, we present IncBL, a tool for Incremental Bug Localization in evolving software repositories. IncBL is evaluated on the Bugzbook dataset, and the results show that IncBL can significantly reduce the running time by 77.79% on average compared with re-computing the model, while maintaining the same level of accuracy. We also implement IncBL as a Github App that can be easily integrated into open-source projects on Github, and users can also deploy and use IncBL locally. The demo video for IncBL can be viewed at https://youtu.be/G4gMuvlJSb0, and the source code can be found at https://github.com/soarsmu/IncBL
翻译:为提高错误本地化技术的有效性投入了大量努力,但很少注意使这些工具在不断发展的软件库中更有效地运行。本文件首先分析经典错误本地化工具BugLocator背后的信息检索模型,并建立一个数学基础,该模型可以在代码库或错误报告演变时逐步更新。然后,我们介绍正在演变的软件库中递增错误本地化工具IncBL。 IncBL在 Bugzbook 数据集上进行了评估,结果显示,与重新输入模型相比, IncBL可以大大缩短运行时间,平均减少77.79%,同时保持同样的精确度。我们还将IncBL作为Github App实施,可以很容易地纳入Github的开源项目,用户也可以在当地部署和使用InBL。 IncBL的演示视频可在https://youtu.be/G4gMUvlJSb0上查看,源码见https://github.com/soarsmu/IncBLL0。