Building defect prediction models in practice

R. Ramler, T. Natschläger. Building defect prediction models in practice. number SCCH-TR-0916, 6, 2010.

  • Rudolf Ramler
  • Thomas Natschläger
TypTechnischer Bericht

Quality is considered a key issue in any software development project. However, many projects face a tradeoff between cost and quality, as the time and effort for applying software quality assurance measures is usually limited due to economic constraints. In practice, quality managers and testers are in a daily struggle with critical bugs and shrinking budgets. Hence, they are eagerly looking for ways to make quality assurance and testing more effective and efficient. Defect prediction promises to indicate defect-prone modules in an upcoming version of a software system and, thus, allows focusing the effort on those modules. “The net result should be systems that are of higher quality, containing fewer faults, and projects that stay more closely on schedule than would otherwise be possible.” [?16] This work is based on our experiences and initial empirical results from establishing defect prediction at an international company in the field of mass-market consumer products. In the studied project, defect prediction has been initiated to produce information for planning system testing and for allocating testing resources. A large number of empirical studies on various aspects of defect prediction are available and several of these incorporate data from industrial projects (e.g., [?13, ?14, ?16, ?19]). Yet, few studies actually provide insights on how defect prediction can be applied in an industrial setting, where defect prediction itself is subject to the aforementioned tradeoff between cost and quality. These are Li et al. [?9], which reports experiences from initiating field defect prediction and product test prioritization at ABB, and Weyuker [?22], which illustrates the research path towards making defect prediction usable for practitioners.