Reading Techniques to Improve Software Inspections

Business Need

Since the introduction of defects during software development cannot be avoided, defects have to be discovered and removed as close to the phase where they were introduced as possible. Failing to catch software defects early results in low product quality and/or an inability to deliver the product on time and within budget.

Software inspections have been shown to be effective and efficient ways of finding defects in software work documents. However, typically reviewers rely on ad hoc techniques to read the document and detect defects. Therefore significant expertise is built up only slowly, for a number of reasons:

  • It is difficult to provide training for a poorly (or un-) defined process.
  • For large software projects it is difficult for a reviewer to understand what defects were not caught by the review, and how they might have been more effectively targeted; this type of knowledge is necessary if the reviewer's process is to be improved.
  • And, allowing every reviewer to develop his or her own process makes the communication of effective review strategies between reviewers harder, making it likely that the expertise that is developed is not disseminated as widely as it could be.

Our Approach

FC-MD scientists have developed software "reading techniques" that address these difficulties. A software reading technique is a series of steps that an individual reviewer can follow to understand the work product and effectively find defects. Software reading techniques increase the effectiveness of individual reviewers by providing guidelines that they can use, during the preparation phase of a software inspection, to examine (or "read") a given software document and identify defects. Rather than leave reviewers to their own devices, as in ad hoc reviews, software reading techniques capture knowledge about best practices for defect detection into a procedure that can be followed.

Procedural software reading techniques help make the review process perspective-driven; that is, individual inspectors should follow a procedure that reviews the document from the perspective of a stakeholder of the document or some other focus of interest.

Two different sets of reading techniques have been developed: Perspective-Based Reading (PBR) for requirements inspections and Object-Oriented Reading Techniques (OORTs) for OO designs.

To be effective, reading techniques must be customized to the environment in which they are used. However, as an example one instantiation of reading techniques for requirements documents is provided for the perspectives of:

Fraunhofer Business Activities

For organizations interested in requirements and design inspections, FC-MD offers

Support: FC-MD scientists will help develop an inspections procedure that is customized for your environment. If inspections are already in place, reading techniques for requirements and OO design inspections can be tailored to existing practices to improve their effectiveness.

  • We will work with your organization to identify the important stakeholders in the work products being inspected and the right set of perspectives for their review.
  • We will tailor the inspection procedures to the existing skill set and experience of your developers.
  • We will help understand the types of problems your organization faces, and tailor the inspections to target these issues.
  • We will monitor the effectiveness of inspections in your organization to provide further tailoring or suggest a more efficient allocation of resources to the different perspectives.

Training: FC-MD scientists have extensive experience in teaching the skills required for requirements and design inspections. We offer tutorials that train your organizations' developers and for longer-term support to help them apply inspections in practice.

More detail about the services we provide is contained in our brochures for requirements and design inspections.

Fraunhofer Research Activities

Scientists at the Fraunhofer are engaged in a collaboratory research program with the University of Maryland's Experimental Software Engineering Group. The aims of this program are to continue evolving the reading techniques to improve their effectiveness, and to better understand important environmental attributes that affect how effectively they can be tailored.

This research program is an extension of an ongoing set of studies evaluating PBR and OORTs. A lab package is available for the work on PBR that collects all of our experimental designs, experimental materials, and results. The purpose of this lab package is to provide a better understanding of our evaluation methods and to help support replications of our work by independent researchers.

Keywords

Software inspections, reading techniques, requirements inspections, PBR, Object-Oriented design inspections, OORTs, experimental software engineering.

Participants

Fraunhofer Center -- Maryland:

  • Dr. Forrest Shull
  • Dr. Ioana Rus

University of Maryland, Experimental Software Engineering Group:

  • Dr. Guilherme Travassos
  • Jeff Carver

Publications

A technical report is available that summarizes the work on OO design inspections.
Click here to see a full list of our publications on this topic.


<-Back to the project overview page


Last updated: February 24, 2000 by Forrest Shull