Managing Software Quality through Empirical Analysis of Fault Detection

University dissertation from Department of Communication Systems

Abstract: Software often constitutes a large share of today's products. To deliver a product with the level of software quality expected by the customer, software development organizations need to manage quality achievement and assessment. In practice, quality is often referred to as the lack of bugs. The research in this thesis is focused on how to improve software quality through effective and efficient detection of those software faults, and how to assess the level of software quality through analysis of the software faults. The research also further evaluates previous work, for example by replications, to continue building empirical knowledge in the field of software engineering. In a literature survey of empirical studies on inspections and testing, it is shown that the choice of detection method depends on several factors. Examples of factors that affect effectiveness and efficiency of fault detection include the type of fault and the type of artifact in which the faults occur. An experiment is conducted to compare the performance of inspections and testing on faults originating from the design. The fault detection effectiveness is also examined in a software process simulation study, validated with empirical data, to illustrate the impact of different factors in the process. A large case study was launched iteratively in an industrial context, investigating three development projects where the product quality is measured by analysis of the detected software faults. The analysis is guided with the purpose of generalizing findings obtained from other research studies. Fault distributions are examined, in terms of detection phase, location of faults, and fault density. In addition, a selection method for software reliability growth models is evaluated by application to fault data. The contribution of this thesis straddles both research and practice. The conclusions of the thesis with its replicative approach are that to generalize any finding it is necessary to explore the applicability of the techniques investigated by gradually changing their parameters in additional studies.

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