中文

IRJIT:一种用于即时软件缺陷预测的简易在线信息检索方法

软件工程 2024-06-13 v3

摘要

即时软件缺陷预测(JIT-SDP)通过在提交检入时识别缺陷,防止缺陷被引入软件。当前软件缺陷预测方法依赖手工构造的特征(如变更度量),并涉及训练代价高昂的机器学习或深度学习模型。这些模型通常需大量训练过程,可能消耗显著计算资源与时间。这些特性在试图以新样本实时更新模型时会带来挑战,可能影响其对快速在线缺陷预测的适用性。此外,对复杂底层模型的依赖使这些方法常缺乏可解释性,开发者因而无法理解模型预测背后的原因。不可解释的方法可能因开发者不信任其结果而难以在真实开发环境中被采纳。为应对这些局限,我们提出名为 IRJIT 的方法,其对源代码使用信息检索,并依据新提交与过去缺陷或干净提交的相似度将其标为缺陷或干净。IRJIT 方法是在线的且可解释,因它可从新数据学习而无需昂贵重训练,开发者也能看到支撑预测的文档以获得额外上下文。通过在 10 个开源数据集上做项目内评估,我们表明该方法比 SOTA 机器学习与深度学习方法快至多 112 倍,提供提交级与行级可解释性,且性能与 SOTA 相当。

关键词

引用

@article{arxiv.2210.02435,
  title  = {IRJIT: A Simple, Online, Information Retrieval Approach for Just-In-Time Software Defect Prediction},
  author = {Hareem Sahar and Abdul Ali Bangash and Abram Hindle and Denilson Barbosa},
  journal= {arXiv preprint arXiv:2210.02435},
  year   = {2024}
}

备注

Accepted for publication in EMSE 2024