论在使用或验证缺陷预测模型时移除最新发布数据的必要性
软件工程
2021-05-26 v2 机器学习
摘要
为开发与训练缺陷预测模型,研究者依赖于将缺陷归属于某一构件(如给定版本的某个类)的数据集。然而,此类数据集的构建远非完美。缺陷可能在其引入若干版本后才被发现:该现象被称为“休眠缺陷”。这意味着,若我们今天观察某个类在当前版本中的状态,它可能被视为无缺陷,而事实并非如此。我们将仅受休眠缺陷影响的此类类所产生的噪声称为“打鼾噪声”。我们推测打鼾噪声的存在会对分类器精度及其评估产生负面影响。此外,较早版本比更旧版本更可能包含更多打鼾类,因此,从数据集中移除最近版本可减少打鼾效应并提升分类器精度。本文研究了打鼾噪声对分类器精度及其评估的影响,以及一种由移除最新发布数据构成的应对措施的有效性。我们分析了 15 个机器学习缺陷预测分类器在来自 Apache 生态系统中 19 个开源项目、超过 4,000 个缺陷与 600 个发布版本的数据上的精度。结果表明,跨项目平均而言:(i) 打鼾噪声的存在降低了缺陷预测分类器的召回率;(ii) 受打鼾噪声影响的评估很可能无法识别最优分类器;(iii) 移除最近版本数据有助于显著提升分类器精度。总之,本文就如何通过缓解打鼾效应来创建软件缺陷数据集提供了见解。
引用
@article{arxiv.2003.14376,
title = {On the Need of Removing Last Releases of Data When Using or Validating Defect Prediction Models},
author = {Aalok Ahluwalia and Massimiliano Di Penta and Davide Falessi},
journal= {arXiv preprint arXiv:2003.14376},
year = {2021}
}
备注
Unfortunately the results are not valid. The paper is outdated