Towards Effective Fault Prevention : An Empirical Study in Software Engineering

Abstract: Quality improvement in terms of lower costs, shorter development times and increased reliability are not only important to most organisations, but also demanded by the customers. This thesis aims at providing a better understanding of which factors affect the number of faults introduced in different development phases and how this knowledge can be used to improve the development of large-scale software: In particular, models that enable identification of fault-prone modules are desirable. Such prediction models enable management to reduce costs by taking special measures, e.g. additional inspection (fault detection), and assigning more experienced developers to support the development of critical components (fault avoidance). This thesis is a result of studying real projects for developing switching systems at Ericsson. The thesis demonstrates how software metrics can form the basis for reducing development costs by early identification, i.e. at the completion of design, of the most fault-prone software modules. Several exploratory analyses of potential explanatory factors for fault-proneness in different phases are presented. An integrated fault analysis process is described that facilitates and was used in the collection of more refined fault data. The thesis also introduces a new approach to evaluate the accuracy of prediction models, Alberg diagrams, suggests a strategy for how variables can be combined, and evaluates and improves strategies by replicating analyses suggested by others.

  This dissertation MIGHT be available in PDF-format. Check this page to see if it is available for download.