拉取请求时代的 SZZ 算法
软件工程
2022-09-08 v1
摘要
在多提交开发模型中,程序员通过将工作组织为若干提交并将其打包为一个提交集来完成任务(例如实现某个特性)。分析采用该模型的开发人员数据,有助于应对开发人员面临的挑战性需求,例如知晓哪些特性引入了缺陷,以及评估在发布中集成某些特性的风险。然而,要做到这一点,首先需识别引发缺陷的提交集。对于此类识别,SZZ 算法是最自然的候选方法,但其在多提交上下文中的性能尚未被评估。在本研究中,我们对 SZZ 在多提交模型中的可靠性与性能进行了深入调查。为获得可靠的ground truth,我们考虑一个已有的 SZZ 数据集并将其适配到多提交上下文。此外,我们设计了第二个更为广泛、由 Mozilla 的开发人员及质量保证(QA)工程师直接创建的数据集。基于这些数据集,我们(1)测试了 B-SZZ 及其非语言特定的 SZZ 变体在多提交模型上下文中的性能,(2)探究了其特定行为背后的原因,以及(3)分析了提交集中不相关提交的影响,并在使用 SZZ 前自动检测它们。
引用
@article{arxiv.2209.03311,
title = {SZZ in the time of Pull Requests},
author = {Fernando Petrulio and David Ackermann and Enrico Fregnan and Gül Calikli and Marco Castelluccio and Sylvestre Ledru and Calixte Denizet and Emma Humphries and Alberto Bacchelli},
journal= {arXiv preprint arXiv:2209.03311},
year = {2022}
}