Issue No. 04 - July/August (2003 vol. 20)
Alastair Dunsmore , Formedix
Marc Roper , University of Strathclyde
Murray Wood , University of Strathclyde
<p>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.</p>
code inspection, object oriented, delocalization, empirical study
M. Roper, A. Dunsmore and M. Wood, "Practical Code Inspection Techniques for Object-Oriented Systems: An Experimental Comparison," in IEEE Software, vol. 20, no. , pp. 21-29, 2003.