Assessing the Effectiveness of a Distributed Method for Code Inspection: A Controlled Experiment

We propose a distributed inspection method that tries to minimise the synchronous collaboration among team members to identify defects in software artefacts. The approach consists of identifying conflicts on the potential defects and then resolving them using an asynchronous discussion before performing a traditional synchronous meeting. This approach has been implemented in a Web based tool and assessed through a controlled experiment with master students in Computer Science at the University of Salerno. The tool presented provides automatic merge and conflict highlighting functionalities to support the inspectors during the pre-meeting refinement phase and provides the moderator with information about the inspection progress as a decision support. The tool also supports a synchronous inspection meeting to discuss about unsolved conflicts. However, by analysing the data collected during a controlled experiment we found that this phase can often be skipped due to the fact that asynchronous discussion resolved most of the conflicts.

[1]  Gerald M. Weinberg,et al.  Handbook of Walkthroughs, Inspections, and Technical Reviews: Evaluating Programs, Projects, and Products , 1990 .

[2]  Laurence Brothers,et al.  ICICLE: groupware for code inspection , 1990, CSCW '90.

[3]  Genny Tortora,et al.  ADAMS: an Artefact-based Process Support System , 2004, SEKE.

[4]  J. B. Iniesta A Tool And A Set Of Metrics To SupportTechnical Reviews , 1970 .

[5]  John C. Knight,et al.  Phased inspections and their implementation , 1991, SOEN.

[6]  Peter M. Chisnall,et al.  Questionnaire Design, Interviewing and Attitude Measurement , 1993 .

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

[8]  Webster West,et al.  Applied Statistics for Engineers and Scientists , 2007 .

[9]  Vahid Mashayekhi,et al.  A Case Study of Distributed, Asynchronous Software Inspection , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[10]  Wei-Tek Tsai,et al.  Distributed, collaborative software inspection , 1993, IEEE Software.

[11]  J. Miller,et al.  A Comparison of Tool-Based and Paper-Based Software Inspection , 1998, Empirical Software Engineering.

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

[13]  Chris Sauer,et al.  Technical Reviews: A Behaviorally Motivated Program of Research , 2022 .

[14]  Watts S. Humphrey,et al.  Managing the software process , 1989, The SEI series in software engineering.

[15]  Takuya Yamashita,et al.  Evaluation of Jupiter: A Lightweight Code Review Framework , 2006 .

[16]  James Miller,et al.  A process for asynchronous software inspection , 1997, Proceedings Eighth IEEE International Workshop on Software Technology and Engineering Practice incorporating Computer Aided Software Engineering.

[17]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[18]  Diane K. Michelson,et al.  Applied Statistics for Engineers and Scientists , 2001, Technometrics.

[19]  Adam A. Porter,et al.  Anywhere, Anytime Code Inspections: Using the Web to Remove Inspection Bottlenecks in Large-Scale Software Development , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[20]  H. Jack Barnard,et al.  COMPAS: A development-process support system , 1990, AT&T Technical Journal.

[21]  Daniela E. Damian,et al.  An Empirical Study of the Impact of Asynchronous Discussions on Remote Synchronous Requirements Meetings , 2006, FASE.

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

[23]  Philip M. Johnson,et al.  Does Every Inspection Really Need a Meeting? , 1998, Empirical Software Engineering.

[24]  Filippo Lanubile,et al.  Tool support for geographically dispersed inspection teams , 2003, Softw. Process. Improv. Pract..

[25]  Philip M. Johnson An instrumented approach to improving software quality through formal technical review , 1994, Proceedings of 16th International Conference on Software Engineering.