Software Inspections


Project Description

My research has focused on the development and evaluation of various techniques to aid individual inspectors in finding defects during the requirements and design phases. My earliest work focused on the design and evaluation of techniques for guiding developers through the inspection of object oriented design artifacts. A difficulty in reviewing a design document is that the various design artifacts illustrate the system from different points-of-view. It is not immediately obvious how to easily compare them. My colleagues and I developed and evaluated a set of techniques to help reviewers analyze design information. These techniques have also been evolved into a set of techniques to aid in the inspection of software architecture documents.

In my current work, I am investigating two important issues that must be better understood regardless of the type of inspection being conducted. First, inspectors have difficulty understanding where there faults detected in an inspection actually originated and how to fix those problem. Second, it is important to understand other variables that impact the effectiveness of an inspection.

To address the first issue, I am working with a PhD student, Gursimran Walia, and a Cognitive Psychologist, Dr. Gary Bradshaw from Mississippi State University. An inspection typically focuses the reviewers on locating faults that are present in a software artifact. But, in order to fully understand these faults, it is important for the reviewer to identify their source. This source is referred to as an error (i.e. the underlying misunderstanding on the part of the document author that caused the author to make a concrete mistake in the document). In my current work I am performing a deeper investigation into the sources of faults in requirements documents. The approach is to identify and classify errors using insight provided by software engineering and cognitive psychology research. Cognitive psychology is relevant to this research because the creation and review of software requirements documents are human-based cognitive activities. Initial work in this area has had promising results through the development and evaluation of an error taxonomy.

I am addressing the second issue in two directions. First, it is important to understand which aspects of an inspectors' background and experience are important relative to their effectiveness. During my dissertation work, I obtained some initial insights into this question. Following up on that work, I have collaborated with researchers at Microsoft Research to conduct a large (70+ subjects) study focused on identifying important characteristics for an inspector to posses. The results of this study indicated that inspectors who have university degrees in non-computing fields were significantly more effective than those with degrees in computing fields. Second, it is also important to understand the thought process employed by an inspector while performing an inspection. Therefore, I am supervising a Master's student, Bryan Robbins, who is using techniques from Cognitive Psychology to study in detail the behavior of inspectors.

Research Findings


Error Abstraction

Gursimran Walia's PhD Dissertation work on Error Abstraction has produced and evaluated a Requirement Error Taxonomy. The current version of that taxonomy appears below and is discussed in more detail in the relevant publications.



To understand the usefulness of the Requirement Error Taxonomy, we have evaluated its use in a series of classroom studies. The taxonomy is used by first performing an inspection and locating faults. These source of each fault is then identified and classified using the Requirement Error Taxonomy. Finally, the artifact is reinspected. We compared a reinspection performed with the Requirement Error Taxonomy (the Experimental Condition) to a reinspection performed without the taxonomy (the control condition). The results in the figure below show that there was a significant improvement in effectiveness (i.e. number of faults found) when the taxonomy is used.
Error Taxonomy Results

Background and Experience of Inspectors

Another line of research about inspections has focused on identifying the types of background and experiences that may make an inspector more effective. To begin with, we conducted a study with 73 professional developers from Microsoft. The goal of the study was to understand whether those subjects who had a computer science degree were more or less effective than those who did not have such a degree. The results (shown in the figure below) indicate that inspectors without a computer science degree were significantly more effective. For more details about this study and its results, please consult our IEEE Transactions on Software Engineering paper titled "The Impact of Educational Background on the Effectiveness of Requirements Inspections: An Empirical Study."

Background and Expereince of Inspectors


Publications

(Note: Blue = Journal; Red = Refereed Conference; Green = Workshop/Tech Report)

Collaborators

Funding

This work is currently unfunded.

Projects Frontpage    |     Homepage    |     List of Publications


Last Updated on August10, 2009 by Jeffrey Carver