Techniques for evaluating fault prediction models

  • Authors:
  • Yue Jiang;Bojan Cukic;Yan Ma

  • Affiliations:
  • Lane Department of Computer Science and Electrical Engineering, West Virginia University, Morgantown, USA 26506-6109;Lane Department of Computer Science and Electrical Engineering, West Virginia University, Morgantown, USA 26506-6109;Department of Statistics, West Virginia University, Morgantown, USA 26506-6109

  • Venue:
  • Empirical Software Engineering
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many statistical techniques have been proposed to predict fault-proneness of program modules in software engineering. Choosing the "best" candidate among many available models involves performance assessment and detailed comparison, but these comparisons are not simple due to the applicability of varying performance measures. Classifying a software module as fault-prone implies the application of some verification activities, thus adding to the development cost. Misclassifying a module as fault free carries the risk of system failure, also associated with cost implications. Methodologies for precise evaluation of fault prediction models should be at the core of empirical software engineering research, but have attracted sporadic attention. In this paper, we overview model evaluation techniques. In addition to many techniques that have been used in software engineering studies before, we introduce and discuss the merits of cost curves. Using the data from a public repository, our study demonstrates the strengths and weaknesses of performance evaluation techniques and points to a conclusion that the selection of the "best" model cannot be made without considering project cost characteristics, which are specific in each development environment.