利用缺陷生命周期标注受影响版本与缺陷类
软件工程
2020-11-12 v1
摘要
近期两项研究明确建议使用问题跟踪器中可用的受影响版本(AV)来标注发布版本中的缺陷类。我们研究的目标有三:1)衡量现实方法可用的缺陷比例;2)提出一种检索缺陷 AV 的方法,从而在 AV 不可用时使现实方法可用;3)比较所提方法与三种 SZZ 实现的准确性。我们所用方法的假设是,就缺陷发现与修复前受缺陷影响版本数占比而言,缺陷具有稳定的生命周期。基于 Apache 生态系统中 212 个开源项目(总计约 125,000 个缺陷)的结果显示,现实方法在多数(51%)缺陷中无法使用。因此,开发自动化方法检索 AV 十分重要。基于 Apache 生态系统中 76 个开源项目(总计约 6,250,000 个类、受 60,000 个缺陷影响、横跨 4,000 个版本与 760,000 次提交)的结果显示,同一项目内缺陷的发现与修复间版本数占比相当稳定(标准差 < 2)。此外,所提方法在(i)检索 AV、(ii)标注缺陷类以及(iii)构建缺陷库进行特征选择方面,均显著优于全部三种 SZZ 实现。因此,当现实方法不可用时,所提方法是 SZZ 检索缺陷起源的有效自动化替代方案。最后,鉴于 SZZ 的低准确性,研究者应考虑重新执行以 SZZ 为基准的研究,且通常应优先选择具有较高可用且一致 AV 比例的项目。
引用
@article{arxiv.2011.05531,
title = {Leveraging the Defects Life Cycle to Label Affected Versions and Defective Classes},
author = {Bailey Vandehei and Daniel Alencar da Costa and Davide Falessi},
journal= {arXiv preprint arXiv:2011.05531},
year = {2020}
}