中文

通过开发者知情的基准评估 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)