Predicting fault-prone components in a java legacy system

  • Authors:
  • Erik Arisholm;Lionel C. Briand

  • Affiliations:
  • Simula Research Laboratory, Lysaker, Norway;Carleton University Ottawa, ON, Canada

  • Venue:
  • Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper reports on the construction and validation of faultproneness prediction models in the context of an object-oriented, evolving, legacy system. The goal is to help QA engineers focus their limited verification resources on parts of the system likely to contain faults. A number of measures including code quality, class structure, changes in class structure, and the history of class-level changes and faults are included as candidate predictors of class fault-proneness. A cross-validated classification analysis shows that the obtained model has less than 20% of false positives and false negatives, respectively. However, as shown in this paper, statistics regarding the classification accuracy tend to inflate the potential usefulness of the fault-proneness prediction models. We thus propose a simple and pragmatic methodology for assessing the costeffectiveness of the predictions to focus verification effort. On the basis of the cost-effectiveness analysis we show that change and fault data from previous releases is paramount to developing a practically useful prediction model. When our model is applied to predict faults in a new release, the estimated potential savings in verification effort is about 29%. In contrast, the estimated savings in verification effort drops to 0% when history data is not included.