Empirical investigations supporting an extensible, theoretical approach to understanding software inspections - Cooper, David (Curtin University, 2010)
Empirical software engineering research has directed substantial effort towards understanding and improving software inspection, a defect detection method much less costly than testing. However, software inspection suffers from a lack of theory governing the process and its outcomes, leading to apparently contradictory experimental outcomes that cannot easily be reconciled. This theoretical uncertainty hinders efforts to effectively address delocalisation - the occurrence of related information in different artefacts, or parts of a software system. Delocalisation is a hurdle to software comprehension, an activity fundamental to inspection.A gap currently exists between the development of inspection strategies and theories of software comprehension, manifested in two ways. First, although some strategies seek to enhance an inspector's understanding of key parts of the software, they generally ignore variability between inspectors. A particular form of guidance or cognitive support given to one inspector may have a different effect when given to another. Second, while models of inspection cost effectiveness exist, they are not expressed in terms of factors that might be manipulated to improve inspection performance. It is not clear how far an inspector should go to address one particular concern in the software, before the benefits of doing so are outweighed by the risk of ignoring other concerns.This thesis first reports on an industry survey examining the current state of practice with respect to peer reviews. Two more qualitative studies were conducted to explore approaches inspectors might take to the comprehension of artefact interrelationships and the challenges posed by delocalisation. A controlled experiment is then presented to show how active guidance and inspector expertise affect the detection of individual defects.Using the results of these studies, a theoretical framework and model of inspection cost effectiveness are proposed in which the effects of experience, cognitive support and the reading technique can be used to predict the consequences of a given inspection strategy. A simulation of the model was conducted to compare several new and existing inspection strategies. Thus, the framework and model provide a basis upon which an appropriate inspection strategy can be developed, selected or refined for a given software project.The results of these investigations suggest several ways in which inspection practices might be improved, including through the additional use of tool support and selective use of active guidance under specific conditions. By instantiating and using the proposed inspection model, software development organisations can engineer optimally cost effective inspection strategies.