中文

基于图的机器学习改进即时缺陷预测

软件工程 2023-04-17 v3 机器学习 社会与信息网络 机器学习

摘要

当今软件日益复杂,需数千名开发者协作贡献。这种复杂的协作结构使开发者更易引入易缺陷变更,从而导致软件故障。确定这些易缺陷变更何时被引入颇具挑战,且使用传统机器学习(ML)方法做此判定似乎已遇瓶颈。本工作中,我们构建由开发者与源文件构成的贡献图,以捕捉构建软件所需变更的细微复杂性。借助这些贡献图,我们的研究展示了基于图的 ML 在改进即时(JIT)缺陷预测方面的潜力。我们假设,从贡献图中提取的特征可能比源自软件特征的内在特征更能预测易缺陷变更。我们利用基于图的 ML 对代表易缺陷变更的边进行分类,证实了该假设。这种对 JIT 缺陷预测问题的新表述带来了显著更优的结果。我们在 14 个开源项目上测试了该方法,表明我们的最佳模型能以高达 77.55% 的 F1 分数与高达 53.16% 的 Matthews 相关系数(MCC)预测代码变更是否会导致缺陷。相较最先进的 JIT 缺陷预测,F1 分数提升 152%,MCC 提升 3%。我们描述了局限性、开放挑战,以及该方法如何用于运维型 JIT 缺陷预测。

关键词

引用

@article{arxiv.2110.05371,
  title  = {Graph-Based Machine Learning Improves Just-in-Time Defect Prediction},
  author = {Jonathan Bryan and Pablo Moriano},
  journal= {arXiv preprint arXiv:2110.05371},
  year   = {2023}
}

备注

22 pages, 2 figures, 4 tables; references added; expanded results to match baseline conditions