Skip to main content
QUICK REVIEW

[论文解读] Benchmarking cross-project defect prediction approaches with costs metrics

Steffen Herbold|arXiv (Cornell University)|Jan 12, 2018
Software Engineering Research参考文献 64被引用 3
一句话总结

本文使用成本敏感指标对26种跨项目缺陷预测(CPDP)方法进行了基准测试,结果表明,一种简单的基线方法——将所有代码视为缺陷——在成本效率方面优于大多数CPDP方法。研究显示,传统性能指标与基于成本的排名之间没有相关性,表明尽管CPDP模型在标准指标上表现良好,但其在实际中并未实现真正的成本节约。

ABSTRACT

Defect prediction can be a powerful tool to guide the use of quality assurance resources. In recent years, many researchers focused on the problem of Cross-Project Defect Prediction (CPDP), i.e., the creation of prediction models based on training data from other projects. However, only few of the published papers evaluate the cost efficiency of predictions, i.e., if they save costs if they are used to guide quality assurance efforts. Within this paper, we provide a benchmark of 26 CPDP approaches based on cost metrics. Our benchmark shows that trivially assuming everything as defective is on average better than CPDP under cost considerations. Moreover, we show that our ranking of approaches using cost metrics is uncorrelated to a ranking based on metrics that do not directly consider costs. These findings show that we must put more effort into evaluating the actual benefits of CPDP, as the current state of the art of CPDP can actually be beaten by a trivial approach in cost-oriented evaluations.

研究动机与目标

  • 使用真实世界成本指标评估26种CPDP方法的成本效率,以填补现有基准仅依赖机器学习性能指标的空白。
  • 确定CPDP模型在实际中是否真正降低了成本,特别是考虑到发布后缺陷修复的成本是发布前审查成本的15–50倍。
  • 将基于成本的CPDP方法排名与基于传统指标(如AUC和F-measure)的排名进行比较,评估不同评估范式之间的一致性。
  • 确定是否存在任何CPDP方法在成本敏感评估下显著优于简单基线(即预测所有代码为缺陷)的性能。
  • 强调缺陷预测研究中样本量过小的威胁,并倡导采用更大规模的基准以提高泛化能力。

提出的方法

  • 基于Herbold等人(2017a)使用的相同数据集,复现了2008–2016年间发表的26种CPDP方法,确保方法论的一致性。
  • 基于真实成本比率(例如,发布后缺陷的成本高出15–50倍)应用三种成本指标——总成本、假阴性成本和假阳性成本。
  • 使用统计显著性检验(如Wilcoxon符号秩检验)将每种CPDP方法与简单基线方法以及彼此之间进行比较。
  • 在JURECZKO和PROMISE数据集的67个软件项目上评估模型,缺陷标签源自提交历史和问题跟踪系统。
  • 通过与先前基准进行合理性检查,确保实现正确性和结构有效性。
  • 使用多个数据集以减少噪声和误标效应,提升基于成本比较的可靠性。

实验结果

研究问题

  • RQ1当使用成本指标评估时,跨项目缺陷预测(CPDP)是否优于将所有代码视为缺陷的简单基线方法?
  • RQ2基于成本指标的CPDP方法排名与基于传统机器学习指标(如AUC和F-measure)的排名相比如何?
  • RQ3哪些CPDP方法在不同成本指标下相对于简单基线方法表现出统计显著的成本优势?
  • RQ4尽管在标准评估指标上表现良好,现有CPDP方法在多大程度上未能实现成本节约?
  • RQ5样本量如何影响CPDP基准结果的泛化能力,对未来研究有何影响?

主要发现

  • 简单基线方法(即预测所有代码为缺陷)在成本指标下优于大多数CPDP方法,表明当前CPDP模型并未实现成本降低。
  • 仅有1种CPDP方法(Liu et al., 2010)在两个数据集中的一个上,且仅在三个成本指标中的一个上,显著优于简单基线方法。
  • 基于传统指标(如AUC、F-measure)的排名与基于成本指标的排名之间不存在统计显著相关性,表明标准指标无法有效预测成本效率。
  • 表现最佳的两种CPDP方法——Liu et al. (2010) 和 Canfora et al. (2013, 2015)——是唯一在模型训练过程中显式优化成本的两种方法。
  • 基准结果表明,直接优化成本至关重要,因为仅优化预测准确性的模型在实际中无法实现成本节约。
  • 67个项目的样本量过小是外部效度的主要威胁,限制了结果的泛化能力,并引发了缺陷预测研究中潜在的可重复性危机的担忧。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。