Reading can be a rudimentary form of inspection. Thelin et al.’s “An Experimental Comparison of Usage- Based and Checklist-Based Reading” describes two different reading techniques and provides a detailed study on their effectiveness.
Both papers illustrate how customizing the inspection
process to the task at hand can provide benefits.
5.2 Systems with Real-Time Requirements and Concurrent Activities
Software systems that must deal with a variety of ongoing activities (e.g., device management, user interactions, external event monitoring) have been observed to be less trustworthy than purely sequential programs. Concurrency introduces a form of nondeterminism into the system—external events, which happen at unpredictable times, determine the order of internal events. When nondeterminism is present, an assessor’s inability to remain aware of all possible sequences makes inspection more difficult. The nondeterminism makes testing more difficult because a test sequence may cause an error in one case and not in another.
One approach to software quality assessment of systems
with real-time requirements in the presence of concurrency that seems worth exploring is restricting the design to place it in a class that is easier to analyze. In what is likely to be the most controversial article in the special issues, Xu’s “On Inspection and Verification with Timing Requirements” advocates handling concurrent real-time systems through a preruntime scheduling approach. Xu is asking the designers to accept strong restrictions on their work to make the inspector’s job easier.
5.3 Tool Supported Software Inspection
Part of the motivation for organizing the Workshop on Inspection in Software Engineering as a satellite event of CAV ’01 stems from the guest editors’ belief that computer aided inspection and formal verification techniques represents the area of greatest potential for the future of inspection. From tools to support the work-flow and book keeping of the inspection process through to integrated computer aided verification techniques to allow inspectors to ask the important questions and delegate some of the mechanical details to model-checkers, theorem provers, and other tools, there are many ways opportunities for tools to improve the efficiency and accuracy of inspections. In “Design and Implementation of a Fine-Grained Software Inspection Tool,” Anderson et al. describe the theoretical and practical issues underlying a tool that tool can be used to make the inspection of complex software systems more manageable.