Impact of maintainability defects on code inspections

Software inspections are effective ways to detect defects early in the development process. In this paper, we analyze the impact of certain defect types on the effectiveness of code inspection. We conducted an experiment in an academic environment with 88 subjects to empirically investigate the effect of two maintainability defects, i.e., indentation and naming conventions, on the number of functional defects found, the effectiveness of functional defect detections, and the number of false positives reported during individual code inspections. Results show that in cases where both naming conventions and indentation defects exist, the participants found minimum number of defects and reported the highest number of false positives, as compared to the cases where either indentation or naming defects exist. Among maintainability defects, indentation seems to significantly impact the number of functional defects found by the inspector, while the presence of naming conventions defects seems to have no significant impact on the number of functional defects detected. The presence of maintainability defects significantly impacts the number of false positives reported. On the effectiveness of individual code inspectors we observed no significant impact originated from the presence of indentation or naming convention defects.

[1]  Paul Anderson,et al.  Tool Support for Fine-Grained Software Inspection , 2003, IEEE Softw..

[2]  Jason Remillard Source Code Review Systems , 2005, IEEE Softw..

[3]  Mika Mäntylä,et al.  What Types of Defects Are Really Discovered in Code Reviews? , 2009, IEEE Transactions on Software Engineering.

[4]  Lasse Harjumaa,et al.  A path to virtual software inspection , 2001, Proceedings Second Asia-Pacific Conference on Quality Software.

[5]  João Batista Camargo,et al.  Best Practices in Code Inspection for Safety-Critical Software , 2003, IEEE Softw..

[6]  Harvey P. Siy,et al.  An experiment to assess the cost-benefits of code inspections in large scale software development , 1995, SIGSOFT '95.

[7]  Chris Sauer,et al.  The Use of Procedural Roles in Code Inspections: An Experimental Study , 2000, Empirical Software Engineering.

[8]  Douglas R. Vogel,et al.  In search of theory and tools to support code inspections , 1998, Proceedings of the Thirty-First Hawaii International Conference on System Sciences.

[9]  Les Hatton,et al.  Testing the Value of Checklists in Code Inspections , 2008, IEEE Software.

[10]  Kai Jiang,et al.  A tool to support perspective based approach to software code inspection , 2005, 2005 Australian Software Engineering Conference.

[11]  Johann Schumann,et al.  What makes a code review trustworthy? , 2004, 37th Annual Hawaii International Conference on System Sciences, 2004. Proceedings of the.

[12]  Oliver Laitenberger,et al.  Studying the effects of code inspection and structural testing on software quality , 1998, Proceedings Ninth International Symposium on Software Reliability Engineering (Cat. No.98TB100257).

[13]  Marc Roper,et al.  The Development and Evaluation of Three Diverse Techniques for Object-Oriented Code Inspection , 2003, IEEE Trans. Software Eng..

[14]  Victor R. Basili,et al.  An Empirical Study of Communication in Code Inspections , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[15]  Harvey P. Siy,et al.  Does the modern code inspection have value? , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

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

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

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