首页> 外文期刊>Software Engineering, IEEE Transactions on >The Use of Summation to Aggregate Software Metrics Hinders the Performance of Defect Prediction Models
【24h】

The Use of Summation to Aggregate Software Metrics Hinders the Performance of Defect Prediction Models

机译:使用汇总汇总软件度量标准会影响缺陷预测模型的性能

获取原文
获取原文并翻译 | 示例

摘要

Defect prediction models help software organizations to anticipate where defects will appear in the future. When training a defect prediction model, historical defect data is often mined from a Version Control System (VCS, e.g., Subversion), which records software changes at the file-level. Software metrics, on the other hand, are often calculated at the class- or method-level (e.g., McCabe's Cyclomatic Complexity). To address the disagreement in granularity, the class- and method-level software metrics are aggregated to file-level, often using summation (i.e., McCabe of a file is the sum of the McCabe of all methods within the file). A recent study shows that summation significantly inflates the correlation between lines of code (Sloc) and cyclomatic complexity (Cc) in Java projects. While there are many other aggregation schemes (e.g., central tendency, dispersion), they have remained unexplored in the scope of defect prediction. In this study, we set out to investigate how different aggregation schemes impact defect prediction models. Through an analysis of 11 aggregation schemes using data collected from 255 open source projects, we find that: (1) aggregation schemes can significantly alter correlations among metrics, as well as the correlations between metrics and the defect count; (2) when constructing models to predict defect proneness, applying only the summation scheme (i.e., the most commonly used aggregation scheme in the literature) only achieves the best performance (the best among the 12 studied configurations) in 11 percent of the studied projects, while applying all of the studied aggregation schemes achieves the best performance in 40 percent of the studied projects; (3) when constructing models to predict defect rank or count, either applying only the summation or applying all of the studied aggregation schemes achieves similar performance, with both achieving the closest to the best performance more often than the other studied aggregation schemes; and (4) when constructing models for effort-aware defect prediction, the mean or median aggregation schemes yield performance values that are significantly closer to the best performance than any of the other studied aggregation schemes. Broadly speaking, the performance of defect prediction models are often underestimated due to our community's tendency to only use the summation aggregation scheme. Given the potential benefit of applying additional aggregation schemes, we advise that future defect prediction models should explore a variety of aggregation schemes.
机译:缺陷预测模型可帮助软件组织预测将来会出现缺陷的地方。在训练缺陷预测模型时,通常会从版本控制系统(VCS,例如Subversion)中提取历史缺陷数据,该版本控制系统会在文件级别记录软件更改。另一方面,软件指标通常是在类或方法级别上计算的(例如McCabe的Cyclomatic Complexity)。为了解决粒度上的分歧,通常使用求和(即文件的McCabe是文件中所有方法的McCabe的总和)将类和方法级的软件指标汇总到文件级。最近的一项研究表明,求和极大地夸大了Java项目中代码行(Sloc)与循环复杂度(Cc)之间的相关性。尽管还有许多其他聚合方案(例如,集中趋势,分散),但在缺陷预测的范围内仍未对其进行探索。在这项研究中,我们着手研究不同的聚合方案如何影响缺陷预测模型。通过使用从255个开源项目中收集的数据对11种聚合方案进行分析,我们发现:(1)聚合方案可以显着改变指标之间的相关性,以及指标与缺陷计数之间的相关性; (2)在构建预测缺陷倾向性的模型时,仅应用求和方案(即,文献中最常用的聚合方案)才能在11%的研究项目中实现最佳性能(在12种研究配置中最佳) ,同时应用所有研究的汇总方案,可以在40%的研究项目中实现最佳性能; (3)在构建预测缺陷等级或缺陷数的模型时,仅应用求和或应用所有研究的聚合方案都可获得相似的性能,两者均比其他研究的聚合方案更接近最佳性能; (4)在构建用于预测工作量的缺陷的模型时,均值或中值聚合方案所产生的性能值比其他任何研究的聚合方案都更接近最佳性能。广义上讲,由于我们社区倾向于仅使用求和聚合方案,因此缺陷预测模型的性能经常被低估。考虑到应用其他聚合方案的潜在好处,我们建议将来的缺陷预测模型应探索各种聚合方案。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号