This Article 
 Bibliographic References 
 Add to: 
Practical Code Inspection Techniques for Object-Oriented Systems: An Experimental Comparison
July/August 2003 (vol. 20 no. 4)
pp. 21-29
Marc Roper, University of Strathclyde
Murray Wood, University of Strathclyde

Although inspection is an effective mechanism for detecting defects in procedural systems, object-oriented systems have different structural and execution models. This article describes the development and empirical investigation of three different techniques for reading object-oriented code during inspection. Research suggests that reading techniques must specifically address delocalization--the distribution of related functionality throughout an object-oriented system--and the fact that the static (compile time) and dynamic (run time) views of an object-oriented system are largely distinct. The three techniques that were developed consist of a checklist that specifically focuses on object-oriented issues, an abstraction-driven reading strategy that requires inspectors to reverse engineer specifications and a use-case driven approach that forces the inspector to consider the dynamic model. The investigation provides insights into all three techniques and, while the tailored checklist is found to be the most effective overall, the abstraction-driven strategy seems to deal better with delocalization issues. The significant message is that code inspection should explicitly address the characteristic features of object-orientation.

Index Terms:
code inspection, object oriented, delocalization, empirical study
Alastair Dunsmore, Marc Roper, Murray Wood, "Practical Code Inspection Techniques for Object-Oriented Systems: An Experimental Comparison," IEEE Software, vol. 20, no. 4, pp. 21-29, July-Aug. 2003, doi:10.1109/MS.2003.1207450
Usage of this product signifies your acceptance of the Terms of Use.