Improving defect prediction using temporal features and non linear models

  • Authors:
  • Abraham Bernstein;Jayalath Ekanayake;Martin Pinzger

  • Affiliations:
  • University of Zurich, Switzerland;University of Zurich, Switzerland;University of Zurich, Switzerland

  • Venue:
  • Ninth international workshop on Principles of software evolution: in conjunction with the 6th ESEC/FSE joint meeting
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Predicting the defects in the next release of a large software system is a very valuable asset for the project manger to plan her resources. In this paper we argue that temporal features (or aspects) of the data are central to prediction performance. We also argue that the use of non-linear models, as opposed to traditional regression, is necessary to uncover some of the hidden interrelationships between the features and the defects and maintain the accuracy of the prediction in some cases. Using data obtained from the CVS and Bugzilla repositories of the Eclipse project, we extract a number of temporal features, such as the number of revisions and number of reported issues within the last three months. We then use these data to predict both the location of defects (i.e., the classes in which defects will occur) as well as the number of reported bugs in the next month of the project. To that end we use standard tree-based induction algorithms in comparison with the traditional regression. Our non-linear models uncover the hidden relationships between features and defects, and present them in easy to understand form. Results also show that using the temporal features our prediction model can predict whether a source file will have a defect with an accuracy of 99% (area under ROC curve 0.9251) and the number of defects with a mean absolute error of 0.019 (Spearman's correlation of 0.96).