软件生命周期早期的缺陷预测:为何?如何?
软件工程
2021-02-10 v3 机器学习
摘要
许多研究者假设,对于软件分析而言“数据越多越好”。我们撰文旨在表明,至少对于学习缺陷预测器而言,这可能并不成立。为证明这一点,我们分析了数百个流行的 GitHub 项目。这些项目运行了 84 个月(中位数),包含 3,728 次提交(中位数)。在这些项目中,大多数缺陷在其生命周期非常早期就出现了。因此,由前 150 次提交和四个月所学得的缺陷预测器表现与其余任何方法一样好。这意味着,至少对于此处所研究项目,在头几个月之后,我们无需持续更新缺陷预测模型。我们希望这些结果能启发其他研究者在其工作中采用“简约优先”的方法。某些领域需要复杂且数据密集的分析。但在假定复杂性之前,审慎做法是检查原始数据以寻找可简化分析的“捷径”。
引用
@article{arxiv.2011.13071,
title = {Early Life Cycle Software Defect Prediction. Why? How?},
author = {N. C. Shrikanth and Suvodeep Majumder and Tim Menzies},
journal= {arXiv preprint arXiv:2011.13071},
year = {2021}
}
备注
12 pages (To appear ICSE 2021)