Automated Software Engineering 6, 291–313 (1999) c 1999 Kluwer Academic Publishers. Manufactured in The Netherlands. A Comparison of Computer Support Systems for Software Inspection FRASER MACDONALD fraser@cs.strath.ac.uk JAMES MILLER james@cs.strath.ac.uk Department of Computer Science, University of Strathclyde, Glasgow, G1 1XH, United Kingdom Abstract. Software inspection is universally accepted as an effective defect finding technique. Recent research in inspection has investigated the development of computer support, aimed at further improving its efficiency and effectiveness. This has resulted in the development of a number of prototype support tools. In 1996, the authors published a review of five inspection tools. Since then there has been an explosion in the number available, with a wide variety of innovative approaches and features. This paper reviews sixteen such tools. Despite the quantity of tools available, some fundamental weaknesses still exist. The authors have been working to develop a second generation tool which tackles these limitations, a brief description of this tool is also included in the paper. Keywords: software inspection, tool support, CASE 1. Introduction First defined by Fagan (1976), software inspection is considered an efficient and effective means of defect detection. The success of inspection is due to early defect detection, when the cost of defect removal is less. Software engineering literature contains many favourable reports. For example, Gilb and Graham, in perhaps the most comprehensive text on software inspection (Gilb and Graham, 1993), cite numerous positive experience reports. Russell (1991) reports a return of 33 hours of maintenance saved for every hour of inspection invested. As an inherently manual, paper-based process, inspection is time-consuming and labour- intensive. Computer support for software inspection has been proposed as a means of further increasing the efficiency of the inspection process. This has resulted in the development of a number of prototype support systems. These tools vary greatly in their implementation, but in general they allow the inspection team to browse and annotate the document under inspection on-line, and may support discussion of defects during team meetings. In 1996, the authors published a review of five tools designed to support software inspection (Macdonald et al., 1996). Since then, there has been an explosion in the production of these tools. This paper reviews sixteen tools which have now been described in the literature. There are two main types of tool: those that provide a means of capturing data from paper-based inspections and those that provide on-line inspection of documents. As it would be unfair to compare both types of tools, they are treated separately. Despite the proliferation of inspection support tools, there are still a number of short- comings in terms of the facilities which they provide. Primarily, they support only a single, usually proprietary, inspection process. The tools also only support inspection of a single