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 illustrating 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 the 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. Users can deploy and use IncBL locally as well. 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.
翻译:为提高错误本地化技术的有效性投入了大量努力,但很少注意使这些工具在不断发展的软件库中更有效地运行。本文首先分析了典型错误本地化工具“错误定位”背后的信息检索模型,并建立了一个数学基础,说明当代码库或错误报告演变时,该模型可以逐步更新。然后,我们介绍了在不断发展的软件库中用于递增错误本地化的工具IncBL。 IncBL在 Bugzbook 数据集上进行了评估,结果显示,IncBL与重编模型相比,平均可以大大缩短运行时间77.79%,同时保持同样的精确度。我们还将IncBL作为GitHub的Github App,可以很容易地融入到GitHub的开源项目中。用户也可以在本地部署和使用IncBL。 IncBL的演示视频可以在https://youtu.be/G4gMUvlJSb0上查看,源代码可以在https://github.com/soarsmu/InL上找到。