paperbot · PL 论文追踪

全部论文 待读 收藏

P2 An investigation of cross-project learning in online just-in-time software defect prediction

在线即时软件缺陷预测中跨项目学习的研究
ICSE Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering2020匹配度 2/10 · 该论文属于机器学习在软件工程中的即时缺陷预测与在线跨项目学习,与用户关注的静态分析、LLM/Agent 程序分析、浮点程序分析和贝叶斯程序分析均无直接关系。虽然同属“机器学习+程序语言/软件工程”交叉,但研究问题和任务方向差异很大。引用 50 inbox
Sadia Tabassum, Leandro L. Minku, Danyi Feng, George G. Cabral, Liyan Song
crossref: 2026-09-12

AI 速览

一句话:首次研究真实在线学习场景下,跨项目数据对即时软件缺陷预测何时及多大程度有用。

即时软件缺陷预测(JIT-SDP)用机器学习分类器判断代码变更是否引入缺陷,但项目初期训练数据不足。跨项目(CP)JIT-SDP 可借用其他项目数据,但此前未在真实在线学习场景(WP 变更持续到达并更新分类器)中考察。本文提出三种可在线运行、随时间同时利用 CP 与 WP 样本更新的 CP JIT-SDP 方法,并在某公司 3 个仓库的 2048 次提交和 10 个开源 GitHub 项目共 198,468 次提交上评估。结果显示:项目初期 CP+WP 训练使 G-mean 相对仅用 WP 最高提升 53.90%;对长期项目,CP 数据可缓解性能下降,下降期 G-mean 提升约 40%,且大量 WP 数据到达后仍有益,整体最高提升 18.5%。

问题
JIT-SDP 分类器需要充足训练数据,而项目初期 WP 数据很少;CP 数据在真实的在线学习场景中何时、多大程度有用尚不清楚。
方法
提出三种支持在线模式的 CP JIT-SDP 方法,可随 CP 与 WP 训练样本持续更新分类器,用于即时预测代码变更是否引入缺陷。
评估
在企业 3 个仓库的 2048 次提交与 10 个开源 GitHub 项目的 198,468 次提交上,与仅用 WP 的分类器对比 G-mean 等指标。
原文摘要(Abstract)

Just-In-Time Software Defect Prediction (JIT-SDP) is concerned with predicting whether software changes are defect-inducing or clean based on machine learning classifiers. Building such classifiers requires a sufficient amount of training data that is not available at the beginning of a software project. Cross-Project (CP) JIT-SDP can overcome this issue by using data from other projects to build the classifier, achieving similar (not better) predictive performance to classifiers trained on Within-Project (WP) data. However, such approaches have never been investigated in realistic online learning scenarios, where WP software changes arrive continuously over time and can be used to update the classifiers. It is unknown to what extent CP data can be helpful in such situation. In particular, it is unknown whether CP data are only useful during the very initial phase of the project when there is little WP data, or whether they could be helpful for extended periods of time. This work thus provides the first investigation of when and to what extent CP data are useful for JIT-SDP in a realistic online learning scenario. For that, we develop three different CP JIT-SDP approaches that can operate in online mode and be updated with both incoming CP and WP training examples over time. We also collect 2048 commits from three software repositories being developed by a software company over the course of 9 to 10 months, and use 19,8468 commits from 10 active open source GitHub projects being developed over the course of 6 to 14 years. The study shows that training classifiers with incoming CP+WP data can lead to improvements in G-mean of up to 53.90% compared to classifiers using only WP data at the initial stage of the projects. For the open source projects, which have been running for longer periods of time, using CP data to supplement WP data also helped the classifiers to reduce or prevent large drops in predictive performance that may occur over time, leading to up to around 40% better G-Mean during such periods. Such use of CP data was shown to be beneficial even after a large number of WP data were received, leading to overall G-means up to 18.5% better than those of WP classifiers.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot5623,
  title = {An investigation of cross-project learning in online just-in-time software defect prediction},
  author = {Sadia Tabassum and Leandro L. Minku and Danyi Feng and George G. Cabral and Liyan Song},
  booktitle = {ICSE},
  year = {2020},
  doi = {10.1145/3377811.3380403}
}