Cross-project defect prediction: a large scale experiment on data vs. domain vs. process

  • Authors:
  • Thomas Zimmermann;Nachiappan Nagappan;Harald Gall;Emanuel Giger;Brendan Murphy

  • Affiliations:
  • Microsoft Research, Redmond, WA, USA;Microsoft Research, Redmond, WA, USA;University of Zurich, Zurich, Switzerland;University of Zurich, Zurich, USA;Microsoft Research, Cambridge, United Kingdom

  • Venue:
  • Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
  • Year:
  • 2009

Quantified Score

Hi-index 0.01

Visualization

Abstract

Prediction of software defects works well within projects as long as there is a sufficient amount of data available to train any models. However, this is rarely the case for new software projects and for many companies. So far, only a few have studies focused on transferring prediction models from one project to another. In this paper, we study cross-project defect prediction models on a large scale. For 12 real-world applications, we ran 622 cross-project predictions. Our results indicate that cross-project prediction is a serious challenge, i.e., simply using models from projects in the same domain or with the same process does not lead to accurate predictions. To help software engineers choose models wisely, we identified factors that do influence the success of cross-project predictions. We also derived decision trees that can provide early estimates for precision, recall, and accuracy before a prediction is attempted.