Developer Tools

New two-stage dynamic selection boosts cross-project defect prediction accuracy

A novel framework selects classifiers per module, outperforming state-of-the-art methods.

Deep Dive

Cross-Project Defect Prediction (CPDP) aims to predict software bugs using models trained on other projects, but distribution shifts between training and target projects degrade performance. To address this, researchers propose a two-stage multiple classifier system (MCS) selection framework. The first stage evaluates several MCS configurations at the project level to find a diverse set of classifiers that generalize across multiple training projects. The second 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, this module-level selection makes the system more robust to distribution changes because the selected set of classifiers adapts to each module's characteristics.

The framework was evaluated on 82 projects from four CPDP benchmark datasets. Results demonstrate that the proposed approach outperforms state-of-the-art CPDP methods in most scenarios. The code, datasets, and further details are publicly available on the project's GitHub repository. This work advances the field by offering a practical way to improve defect prediction accuracy when labeled data for the target project is scarce, making it easier for teams to adopt predictive models from similar projects without costly re-labeling.

Key Points
  • Two-stage selection: first at project level to build diverse MCS, then at module level to choose best classifiers per prediction.
  • Outperforms existing CPDP methods across 82 projects from four benchmark datasets.
  • Code, datasets, and full experimental details are publicly available on GitHub.

Why It Matters

Enables more reliable defect prediction across different software projects, saving debugging time and reducing costs.

📬 Get the top 10 AI stories daily