中文

面向特征的缺陷预测:场景、度量与分类器

软件工程 2021-04-14 v1

摘要

过去几十年中已开发出若干软件缺陷预测技术。这些技术在典型软件资产(如组件与文件)的粒度上预测缺陷。本文研究面向特征的缺陷预测:在特征粒度上预测缺陷——特征是指代表软件功能且常横切软件资产的领域实体。面向特征的缺陷预测具有以下益处:(i) 某些特征可能比其他特征更易出错;(ii) 缺陷特征的特征可能有助于预测其他易出错特征;(iii) 特征相关代码易因特征交互而产生故障。我们探索了面向特征的缺陷预测的可行性与解空间。我们的研究基于 12 个软件项目,从中分析了 13,685 个引入缺陷与修正缺陷的提交,并系统性地生成了 62,868 个训练与测试数据集以评估分类器、度量与场景。这些数据集基于 13,685 个提交、81 个发布版本以及针对所处理场景的 12 个项目的 24,532 种排列组合生成。我们覆盖了即时(JIT)与跨项目缺陷预测等场景。结果证实了面向特征的缺陷预测的可行性。我们发现使用 Random Forest 分类器及过程与结构度量时性能最佳(即精度与鲁棒性)。令人惊讶的是,单项目 JIT 与发布级预测的中位数 AUC-ROC 分别大于 95% 与 90%,这与断言因训练数据不足而性能不佳的研究相反。我们还发现,在十二个项目之一上以发布级数据训练的模型可在不重新训练的情况下以中位数 AUC-ROC 82% 预测其余十一个项目中特征的易缺陷性。

关键词

引用

@article{arxiv.2104.06161,
  title  = {Feature-Oriented Defect Prediction: Scenarios, Metrics, and Classifiers},
  author = {Mukelabai Mukelabai and Stefan Strüder and Daniel Strüber and Thorsten Berger},
  journal= {arXiv preprint arXiv:2104.06161},
  year   = {2021}
}

备注

16 pages, 10 figures, 14 tables, journal