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.
|Number of pages||8|
|Publication status||Published - 2003|