通过开发者知情的基准评估 SZZ 实现
软件工程
2021-02-10 v1
摘要
用于识别引错变更的 SZZ 算法已被广泛用于评估缺陷预测技术,并实证调查缺陷何时、如何以及由谁引入。多年来,研究人员提出了若干启发式方法来提高 SZZ 准确性,提供了各种 SZZ 实现。然而,在可靠基准上公平评估这些实现是一个开放问题:SZZ 评估通常依赖于(i)对 SZZ 输出进行手动分析,以将识别出的引错提交分类为真阳性或假阳性;或(ii)关联缺陷修复与引错提交的黄金集。在这两种情况下,这些手动评估由对所研究主题系统了解有限的研究人员执行。理想情况下,应存在由所研究系统的原始开发者创建的黄金集。我们提出一种构建用于评估 SZZ 变体的“开发者知情”基准的方法论。我们使用自然语言处理(NLP)来识别开发者显式引用引入已修复缺陷的提交(们)的缺陷修复提交。随后是一个手动过滤步骤,旨在确保基准的质量与准确性。构建完成后,我们使用该基准就准确性评估若干 SZZ 算法变体。我们的评估帮助我们提炼出一组经验教训,以进一步改进 SZZ 算法。
引用
@article{arxiv.2102.03300,
title = {Evaluating SZZ Implementations Through a Developer-informed Oracle},
author = {Giovanni Rosa and Luca Pascarella and Simone Scalabrino and Rosalia Tufano and Gabriele Bavota and Michele Lanza and Rocco Oliveto},
journal= {arXiv preprint arXiv:2102.03300},
year = {2021}
}
备注
Accepted to the 43rd International Conference on Software Engineering (ICSE 2021)