预见缺陷:票级缺陷预测与时间邻近性效应
软件工程
2025-06-18 v1
摘要
缺陷预测的主要目标是通过聚焦最可能包含缺陷的软件片段(即类、方法、提交(JIT)或代码行)来优化测试工作。然而,这些预测的片段已经包含缺陷。因此,当前的缺陷预测方法支持修复而非预防。本文旨在引入和评估票级预测(TLP),以识别一旦实现将引入缺陷的票。我们在三个时间点分析TLP,每个时间点代表票生命周期的一个阶段:打开、进行中或关闭。我们推断:(1) TLP准确度随着票向关闭阶段的推进而增加,由于随着时间推移,特征的可靠性提高;以及(2) 特征的预测能力在这些时间点之间发生变化。我们的TLP方法利用72个属于六个不同家族的特征:代码、开发者、外部温度、内部温度、内在、票与票、以及JIT。我们的TLP评估使用滑动窗口方法,在两个Apache开源项目中,对特征选择和三个机器学习缺陷预测分类器进行平衡处理,涉及约10,000个票。我们的结果表明,TLP准确度随邻近度的增加而提高,确认了早期预测与准确度之间的预期权衡。关于特征家族的预测力,没有单一特征家族在所有阶段都占据主导地位;开发者导向的信号在早期最具信息性,而在接近关闭时,代码和JIT指标占主导,温度基准特征在整个过程中提供补充价值。我们的发现补充并扩展了在类、方法或提交级别上的缺陷预测文献,表明缺陷预测可以有效地向上移动,为在编写任何代码之前进行风险感知的票 triage和开发者分配提供了机会。
关键词
引用
@article{arxiv.2506.14290,
title = {Anticipating Bugs: Ticket-Level Bug Prediction and Temporal Proximity Effects},
author = {Daniele La Prova and Emanuele Gentili and Davide Falessi},
journal= {arXiv preprint arXiv:2506.14290},
year = {2025}
}