Skip to main content
QUICK REVIEW

[论文解读] Simplification of Training Data for Cross-Project Defect Prediction

Peng He, Bing Li|arXiv (Cornell University)|May 5, 2014
Software Engineering Research参考文献 33被引用 17
一句话总结

本文提出了一种用于跨项目缺陷预测(CPDP)的多粒度训练数据简化方法,结合发布级别和实例级别的过滤,以提升预测性能。基于10个开源项目的34个发布版本,实验表明:在简化优化后的数据上训练的朴素贝叶斯分类器在F-measure和G-measure上表现更优,训练数据量减少约50%,并通过基于DPR的过滤阈值提升了缺陷检测效果。

ABSTRACT

Cross-project defect prediction (CPDP) plays an important role in estimating the most likely defect-prone software components, especially for new or inactive projects. To the best of our knowledge, few prior studies provide explicit guidelines on how to select suitable training data of quality from a large number of public software repositories. In this paper, we have proposed a training data simplification method for practical CPDP in consideration of multiple levels of granularity and filtering strategies for data sets. In addition, we have also provided quantitative evidence on the selection of a suitable filter in terms of defect-proneness ratio. Based on an empirical study on 34 releases of 10 open-source projects, we have elaborately compared the prediction performance of different defect predictors built with five well-known classifiers using training data simplified at different levels of granularity and with two popular filters. The results indicate that when using the multi-granularity simplification method with an appropriate filter, the prediction models based on Naive Bayes can achieve fairly good performance and outperform the benchmark method.

研究动机与目标

  • 解决从大型公共软件仓库中为跨项目缺陷预测(CPDP)选择高质量训练数据的挑战,尤其针对本地数据有限的新项目或非活跃项目。
  • 克服以往CPDP方法依赖单一粒度(如发布级别或实例级别)简化而缺乏系统性比较的局限性。
  • 通过评估多种粒度、过滤策略与分类器的组合,为CPDP提供实用且基于数据的指导原则,以选择最优的过滤策略与分类器。
  • 通过两步简化策略,基于缺陷倾向性比率(DPR)过滤冗余和无关实例,提升预测性能并减少训练数据量。

提出的方法

  • 提出一种多粒度简化框架,在发布级别和实例级别同时应用过滤,以减少训练数据量,同时保留缺陷易发组件。
  • 实施两种过滤策略:(1) 基于发布级别的缺陷倾向性比率(DPR)进行过滤,(2) 基于KNN邻近分析的实例级别缺陷可能性进行过滤。
  • 使用DPR指数(缺陷易发比率)确定最优过滤阈值,发现0.3的阈值在实例级别过滤中表现有效。
  • 应用两步简化流程:首先根据DPR过滤发布版本,然后在选定的发布版本中,使用基于KNN的邻近选择方法过滤个体实例。
  • 通过对数变换对特征进行预处理,以稳定方差并提升分类器性能。
  • 在简化后的训练数据上评估五种分类器(朴素贝叶斯、KNN、SVM、C4.5、逻辑回归),以识别在CPDP中表现最优的模型。

实验结果

研究问题

  • RQ1RQ1:所提出的多粒度训练数据简化方法是否优于基于单粒度的基准方法?
  • RQ2RQ2:当使用所提出方法简化训练数据时,哪种分类器表现最佳?
  • RQ3RQ3:DPR指数是否可用于指导CPDP中实例级别简化的有效过滤策略选择?

主要发现

  • 与基准方法相比,多粒度简化方法在F-measure和G-measure上表现具有竞争力,性能差异在统计上不显著。
  • 在基于KNN的发布级别过滤步骤中增加邻居数量时,训练数据量减少了约50%。
  • 朴素贝叶斯分类器在简化后的训练数据上优于其他模型,所有评估分类器中F-measure和G-measure均最高。
  • DPR指数在识别最优过滤阈值方面表现有效;发现0.3的DPR阈值能显著提升实例级别的预测性能。
  • 基于DPR和KNN邻近分析的过滤策略成功保留了更多实际缺陷实例,同时减少了误报。
  • 本研究证实,在CPDP中,数据质量而非数据量才是关键因素,且基于多粒度过滤的简化方法能有效提升模型性能与效率。

更好的研究,从现在开始

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

无需绑定信用卡

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