代码审查度量能否解释发布后缺陷的发生?
软件工程
2020-08-28 v1
摘要
目的:与针对代码审查期间发现缺陷的研究相反,我们旨在阐明代码审查度量能否解释发布后缺陷的普遍程度。方法:我们复现了McIntosh等人使用加性回归对缺陷与代码审查之间关系建模的研究。为提高外部效度,我们将相同方法应用于一个新的软件项目。我们与原研究第一作者McIntosh讨论了我们的发现。随后,我们通过采用贝叶斯网络(BN)模型,研究如何在变量选择过程中降低相关预测变量的影响,并增进对预测变量间相互关系的理解。背景:如原研究一样,我们使用作者在原研究中所获取的Qt项目的相同度量。我们从Google Chrome的版本控制和问题跟踪器中挖掘数据,并实现与原复现研究中使用的代码、过程和代码审查大量度量相近的对应度量。结果:原研究数据与Chrome数据均显示代码审查度量对缺陷的影响具有高度不稳定性,结果对变量选择过程高度敏感。不含代码审查预测变量的模型拟合优度与含审查预测变量的模型相当或更好。然而,复现证实了先前大部分工作的结论,即先前的缺陷、模块规模和作者身份与发布后缺陷关系最强。BN模型的应用通过表明审查相关预测变量不直接影响发布后缺陷并展示了间接效应,帮助解释了所观察到的不稳定性。例如,无审查讨论的变更往往与具有许多先前缺陷的文件相关联,而这又增加了发布后缺陷的数量。
引用
@article{arxiv.2005.09217,
title = {Do Code Review Measures Explain the Incidence of Post-Release Defects?},
author = {Andrey Krutauz and Tapajit Dey and Peter C. Rigby and Audris Mockus},
journal= {arXiv preprint arXiv:2005.09217},
year = {2020}
}