arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2302.14293cs.SE
收藏

使用 FinerBench4BL 对方法级缺陷定位进行大规模评估

Large-Scale Evaluation of Method-Level Bug Localization with FinerBench4BL

Shizuka Tsumita, Shinpei Hayashi, Sousuke Amasaki

AI总结:

本文提出方法级缺陷定位评估框架 FinerBench4BL,基于 Bench4BL 半自动生成方法级仓库与 oracle,并适配现有技术;实验显示方法级技术准确率下降但调试效率提升。

摘要:

缺陷定位是软件维护的一个重要方面,因为它能够定位为修复特定缺陷而需要更改的模块。尽管方法级缺陷定位对开发人员很有帮助,但用于该任务的工具和技术仍然很少;此外,也没有用于评估它们的大规模框架。本文提出了 FinerBench4BL,这是一个用于基于信息检索的方法级缺陷定位技术的评估框架,并介绍了使用该框架开展的比较研究。该框架通过仓库转换方法,由文件级缺陷定位评估框架 Bench4BL 半自动构建而成。我们通过仓库转换,将 Bench4BL 提供的原始文件级版本仓库转换为方法级仓库。通过将 Bench4BL 中经由缺陷—提交链接的 oracle 生成方法应用于生成的方法仓库,还可以自动派生 oracle 方法等方法级数据组件。此外,我们在方法级别上对现有文件级缺陷定位技术的实现进行了定制。通过合并生成的数据集和这些实现,我们创建了一个用于方法级评估的框架。比较结果表明,与文件级技术相比,方法级技术降低了准确率,但提高了调试效率。

英文摘要:

Bug localization is an important aspect of software maintenance because it can locate modules that need to be changed to fix a specific bug. Although method-level bug localization is helpful for developers, there are only a few tools and techniques for this task; moreover, there is no large-scale framework for their evaluation. In this paper, we present FinerBench4BL, an evaluation framework for method-level information retrieval-based bug localization techniques, and a comparative study using this framework. This framework was semi-automatically constructed from Bench4BL, a file-level bug localization evaluation framework, using a repository transformation approach. We converted the original file-level version repositories provided by Bench4BL into method-level repositories by repository transformation. Method-level data components such as oracle methods can also be automatically derived by applying the oracle generation approach via bug-commit linking in Bench4BL to the generated method repositories. Furthermore, we tailored existing file-level bug localization technique implementations at the method level. We created a framework for method-level evaluation by merging the generated dataset and implementations. The comparison results show that the method-level techniques decreased accuracy whereas improved debugging efficiency compared to file-level techniques.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑