This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
The Development and Evaluation of Three Diverse Techniques for Object-Oriented Code Inspection
August 2003 (vol. 29 no. 8)
pp. 677-686
Marc Roper, IEEE Computer Society
Murray Wood, IEEE Computer Society

Abstract—This paper describes the development and evaluation of a rigorous approach aimed at the effective and efficient inspection of object-oriented (OO) code. Since the time that inspections were developed they have been shown to be powerful defect detection strategies. However, little research has been done to investigate their application to OO systems, which have very different structural and execution models compared to procedural systems. This suggests that inspection techniques may not be currently being deployed to their best effect in the context of large-scale OO systems. Work to date has revealed three significant issues that need to be addressed—the identification of chunks of code to be inspected, the order in which the code is read, and the resolution of frequent nonlocal references. Three techniques are developed with the aim of addressing these issues: one based on a checklist, one focused on constructing abstract specifications, and the last centered on the route that a use case takes through a system. The three approaches are evaluated empirically and, in this instance, it is suggested that the checklist is the most effective approach, but that the other techniques also have potential strengths. For the best results in a practical situation, a combination of techniques is recommended, one of which should focus specifically on the characteristics of OO.

[1] J.T. Baldwin, An Abbreviated C++ Code Inspection Checklist PhD thesis, Univ. of Illinois, Dept. of Computer Science, Oct. 1992, http://www2.ics.hawaii.edu/~johnson/FTR/ BibBaldwin92. html.
[2] G. Booch, J. Rumbaugh, and I. Jacobson, The Unified Modeling Language User Guide. Addison Wesley, 1999.
[3] Y. Chernak, “A Statistical Approach to the Inspection Checklist Formal Synthesis and Improvement,” IEEE Trans. Software Eng., vol. 22, no. 12, pp. 866–874, Dec. 1996.
[4] A. Dunsmore, The Role of Comprehension and Defects in OO Inspection Technical Report EFoCS-34-99, 1999.
[5] A. Dunsmore, M. Roper, and M. Wood, Object-Oriented Inspection in the Face of Delocalization Proc. 22nd Int'l Conf. Software Eng. (ICSE '00), pp. 467-476, June 2000.
[6] A. Dunsmore, Survey of Object-Oriented Defect Detection Approaches and Experience in Industry Technical Report EFoCS-36-2000, 2000.
[7] A. Dunsmore, An Empirical Investigation of a Systematic Object-Oriented Inspection Technique Technical Report EFoCS-37-2000, 2000.
[8] A. Dunsmore, M. Roper, and M. Wood, Systematic Object-Oriented Inspection An Empirical Study Proc. 23rd Int'l Conf. Software Eng. (ICSE '01), pp. 135-144, May 2001.
[9] A. Dunsmore, Investigating Effective Inspection of Object-Oriented Code PhD thesis, Univ. of Strathclyde, Glasgow, U.K., 2002.
[10] M. Fagan, “Advances in Software Inspections,” IEEE Trans. Software Eng., vol. 12, no. 7, pp. 744–751, July 1986.
[11] E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns. Addison-Wesley, 1994.
[12] T. Gilb and D. Graham, Software Inspection, Addison-Wesley, 1993.
[13] W.S. Humphrey, A Discipline for Software Engineering, Addison-Wesley, Reading, Mass., 1995.
[14] O. Laitenberger and J. DeBaud, "An Encompassing Life-Cycle Centric Survey of Software Review," J. Systems and Software, vol. 50, no. 1, Jan. 2000, pp. 5-31.
[15] O. Laitenberger, Cost-Effective Detection of Software Defects through Perspective-Based Inspections PhD thesis, Univ. of Kaiserslautern, Germany, 2000.
[16] R. Linger, H. Mills, and B. Witt, Structured Programming: Theory and Practice. Addison-Wesley Publishing Co., 1979.
[17] J. Miller, J. Daly, M. Wood, M. Roper, and A. Brooks, Statistical Power and Its Subcomponents Missing and Misunderstood Concepts in Empirical Software Engineering Research Information and Software Technology, vol. 39, pp. 285-295, 1997.
[18] National Aeronautics and Space Administration. Software Formal Inspection Guidebook Technical Report NASA-GB-A302, Nat'l Aeronautics and Space Administration, Aug. 1993, http://satc.gsfc.nasa.govfi/.
[19] E. Soloway, J. Pinto, S. Letovsky, D. Littman, and R. Lampert, “Designing Documentation to Compensate for Delocalized Plans,” Comm. ACM, vol. 31, no. 11, pp. 1259–1267, Nov. 1988.
[20] E.F. Weller, "Lessons from Three Years of Inspection Data," IEEE Software, pp. 38-45, Sept. 1993.

Index Terms:
Object-oriented, code reviews, software inspection, empirical study.
Citation:
Alastair Dunsmore, Marc Roper, Murray Wood, "The Development and Evaluation of Three Diverse Techniques for Object-Oriented Code Inspection," IEEE Transactions on Software Engineering, vol. 29, no. 8, pp. 677-686, Aug. 2003, doi:10.1109/TSE.2003.1223643
Usage of this product signifies your acceptance of the Terms of Use.