A software inspection methodology for cognitive improvement in software engineering
Access Status
Authors
Date
2010Supervisor
Type
Award
Metadata
Show full item recordSchool
Collection
Abstract
This thesis examines software inspections application in a non-traditional use through examining the cognitive levels developers demonstrate while carrying out software inspection tasks. These levels are examined in order to assist in increasing developers’ ability to understand, maintain and evolve software systems.The results from several empirical studies carried out are presented. These indicate several important findings: student software developers find structured reading techniques more helpful as an aid than less structured reading techniques, while professional developers find the more structured techniques do not allow their experience to be applied to the problem at hand; there is a correlation between the effectiveness of a software inspection and an inspector’s ability to successfully add new functionality to the inspected software artefact; the cognitive levels that student developers functioned at while carrying out software inspection tasks were at higher orders of thinking when structured inspection techniques were implemented than when unstructured techniques were applied.From the empirical results a mapping has been created of several software inspection techniques to the cognitive process models they support and the cognitive levels, as measured using Bloom’s Taxonomy that they facilitate. This mapping is to understand the impact carrying out a software inspection has upon a developer’s cognitive understanding of the inspected system.The knowledge and understanding of the findings of this research has culminated in the creation of a code reading methodology to increase the cognitive level software developers operate at while reading software code. The reading methodology distinguishes where in undergraduate and software developer training courses different software inspection reading techniques are to be implemented in order to maximise a software developer’s code reading ability dependent upon their experience level.
Related items
Showing items related by title, author, creator and subject.
-
Cooper, David (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 ...
-
McMeekin, D.; Von Konsky, Brian; Chang, Elizabeth; Cooper, David (2008)Software maintenance can consume up to 70% of the effort spent on a software project, with more than half of this devoted to understanding the system. Performing a software inspection is expected to contribute to ...
-
McMeekin, David; von Konsky, Brian; Chang, Elizabeth; Cooper, David (2009)This paper reports on results from a pilot study that used Bloom's Taxonomy to observe cognition levels during software inspections conducted by undergraduate computer science and software engineering students. Cognition ...