通过分阶段动态选择分类器,提升跨项目缺陷预测的准确性与鲁棒性。
Multi-stage Dynamic Selection for Cross-Project Defect Prediction
- 分两阶段选择分类器:先选跨项目通用配置,再按模块动态选最优模型。
- 在82个项目的4个基准数据集上,多数场景下优于现有最先进方法。
- 适合需要高精度缺陷预测的跨项目开发团队使用。
跨项目缺陷预测(CPDP)利用外部训练项目的数据构建模型,以预测目标项目中的模块缺陷。然而,传统方法因训练与目标项目间存在分布偏移,导致性能下降。本文提出一种新型CPDP框架,采用两级多分类器系统(MCS)选择机制:第一阶段在项目层面评估多种MCS配置,选出能覆盖并泛化于多个训练项目的方案,从而获得一组针对不同模块特征各有所长的分类器;第二阶段在测试时,根据目标项目中每个模块的特点动态选择最胜任的分类器进行预测。与以往对整个目标项目统一应用相同分类器的方法不同,该框架实现模块级模型选择,增强对分布变化的鲁棒性。在来自四个基准数据集的82个项目上的实验表明,该方法在多数场景下优于当前最先进的CPDP方法。代码、数据集及方法详情已公开于https://github.com/jsaj/Multi_DES。
原文摘要 · Abstract (English)
Cross-Project Defect Prediction (CPDP) involves building models using data from external projects, called training projects, to predict modules from the target project. However, traditional CPDP methods suffer from the distribution shift between training and target projects that affects the model's performance. This paper proposes a novel CPDP framework that addresses this issue by proposing a two-stage multiple classifier system (MCS) selection scheme: one working at the project level and another at the module level. In the first stage, the framework evaluates multiple possible MCS configurations to find one that covers and generalizes well across multiple training projects. Consequently, the proposal is likely to obtain a diverse set of classifiers, each specialized in tackling software modules with distinct characteristics. The second selection stage operates at test time, selecting the most competent classifiers to predict each new module in the target project. Unlike previous approaches that apply the same classifiers to the entire target project, the proposed framework performs module-level model selection. This way, the system is more robust to changes in distributions between training and target projects because the selected set of classifiers is module-dependent. Our experimental results using 82 projects from four different CPDP benchmark datasets demonstrate that the proposed approach outperforms the state-of-the-art CPDP methods in most scenarios. The code, dataset, and further details about the proposed method are publicly available at https://github.com/jsaj/Multi_DES.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。