Empirical investigations supporting an extensible, theoretical approach to understanding software inspections

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 appa...

Full description

Bibliographic Details
Main Author: Cooper, David
Format: Thesis
Language:English
Published: Curtin University 2010
Subjects:
Online Access:http://hdl.handle.net/20.500.11937/42
_version_ 1848743267451011072
author Cooper, David
author_facet Cooper, David
author_sort Cooper, David
building Curtin Institutional Repository
collection Online Access
description 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.
first_indexed 2025-11-14T05:42:51Z
format Thesis
id curtin-20.500.11937-42
institution Curtin University Malaysia
institution_category Local University
language English
last_indexed 2025-11-14T05:42:51Z
publishDate 2010
publisher Curtin University
recordtype eprints
repository_type Digital Repository
spelling curtin-20.500.11937-422017-02-20T06:41:34Z Empirical investigations supporting an extensible, theoretical approach to understanding software inspections Cooper, David reading technique software comprehension delocalisation software inspection inspection strategies empirical software engineering research tool support experience cognitive support inspection practices 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. 2010 Thesis http://hdl.handle.net/20.500.11937/42 en Curtin University fulltext
spellingShingle reading technique
software comprehension
delocalisation
software inspection
inspection strategies
empirical software engineering research
tool support
experience
cognitive support
inspection practices
Cooper, David
Empirical investigations supporting an extensible, theoretical approach to understanding software inspections
title Empirical investigations supporting an extensible, theoretical approach to understanding software inspections
title_full Empirical investigations supporting an extensible, theoretical approach to understanding software inspections
title_fullStr Empirical investigations supporting an extensible, theoretical approach to understanding software inspections
title_full_unstemmed Empirical investigations supporting an extensible, theoretical approach to understanding software inspections
title_short Empirical investigations supporting an extensible, theoretical approach to understanding software inspections
title_sort empirical investigations supporting an extensible, theoretical approach to understanding software inspections
topic reading technique
software comprehension
delocalisation
software inspection
inspection strategies
empirical software engineering research
tool support
experience
cognitive support
inspection practices
url http://hdl.handle.net/20.500.11937/42