A Comparison of Tool-Based and Paper-Based Software Inspection

Software inspection is an effective method of defect detection. Recent research activity has considered the development of tool support to further increase the efficiency and effectiveness of inspection, resulting in a number of prototype tools being developed. However, no comprehensive evaluations of these tools have been carried out to determine their effectiveness in comparison with traditional paper-based inspection. This issue must be addressed if tool-supported inspection is to become an accepted alternative to, or even replace, paper-based inspection. This paper describes a controlled experiment comparing the effectiveness of tool-supported software inspection with paper-based inspection, using a new prototype software inspection tool known as ASSIST (Asynchronous/Synchronous Software Inspection Support Tool). 43 students used ASSIST and paper-based inspection to inspect two C++ programs of approximately 150 lines. The subjects performed both individual inspection and a group collection meeting, representing a typical inspection process. It was found that subjects performed equally well with tool-based inspection as with paper-based, measured in terms of the number of defects found, the number of false positives reported, and meeting gains and losses.

[1]  R BasiliVictor,et al.  Comparing the Effectiveness of Software Testing Strategies , 1987 .

[2]  Thomas Gilb,et al.  Software Inspection , 1994 .

[3]  C. A. Boneau,et al.  The effects of violations of assumptions underlying the test. , 1960, Psychological bulletin.

[4]  James Miller,et al.  Further Experiences with Scenarios and Checklists , 1998, Empirical Software Engineering.

[5]  Andrew Dillon,et al.  Reading from paper versus screens: a critical review of the empirical literature , 1992 .

[6]  John W. Daly,et al.  Statistical power and its subcomponents - missing and misunderstood concepts in empirical software engineering research , 1997, Inf. Softw. Technol..

[7]  Gérard Memmi,et al.  Scrutiny: A Collaborative Inspection and Review System , 1993, ESEC.

[8]  Vahid Mashayekhi Distribution and asynchrony in concurrent software engineering , 1995 .

[9]  Arthur L. Price,et al.  Managing code inspection information , 1994, IEEE Software.

[10]  Michael Fagan Design and Code Inspections to Reduce Errors in Program Development , 1976, IBM Syst. J..

[11]  James Miller,et al.  A software inspection process definition language and prototype support tool , 1997, Softw. Test. Verification Reliab..

[12]  John T. Baldwin An Abbreviated C++ Code Inspection Checklist , 1997 .

[13]  Glen W. Russell,et al.  Experience with inspection in ultralarge-scale development , 1991, IEEE Software.

[14]  Michael E. Fagan Design and Code Inspections to Reduce Errors in Program Development , 1976, IBM Syst. J..

[15]  Adam E. Irgon,et al.  Knowledge-Based Code Inspection with ICICLE , 1992, IAAI.

[16]  John C. Knight,et al.  An improved inspection technique , 1993, CACM.

[17]  Victor R. Basili,et al.  Comparing the Effectiveness of Software Testing Strategies , 1987, IEEE Transactions on Software Engineering.

[18]  F. MacDonald,et al.  A review of tool support for software inspection , 1995, Proceedings Seventh International Workshop on Computer-Aided Software Engineering.

[19]  A. L. Edwards,et al.  Statistical Methods , 2004 .

[20]  Adam A. Porter,et al.  Comparing Detection Methods for Software Requirements Inspections: A Replicated Experiment , 1995, IEEE Trans. Software Eng..

[21]  John W. Gintell,et al.  Lessons learned by building and using Scrutiny, a collaborative software inspection system , 1995, Proceedings Seventh International Workshop on Computer-Aided Software Engineering.

[22]  Erik Kamsties,et al.  An Empirical Evaluation of Three Defect-Detection Techniques , 1995, ESEC.

[23]  Watts S. Humphrey,et al.  A discipline for software engineering , 2012, Series in software engineering.

[24]  Robert G. Ebenau,et al.  Software Inspection Process , 1993 .

[25]  James Miller,et al.  Automating the software inspection process , 1996, Automated Software Engineering.

[26]  E. P. Doolan,et al.  Experience with Fagan's inspection method , 1992, Softw. Pract. Exp..

[27]  Paul J. Deitel,et al.  C how to program , 1994 .