  This study analyzes object-oriented (OO) program comprehension by experts and
novices. We examine the effect of expertise in three dimensions of
comprehension strategies: the scope of the comprehension, the top-down versus
bottom-up direction of the processes, and the guidance of the comprehension
activity. Overall, subjects were similar in the scope of their comprehension,
although the experts tended to consult more files. We found strong evidence of
top-down, inference-driven behaviors, as well as multiple guidance in expert
comprehension. We also found evidence of execution-based guidance and less use
of top-down processes in novice comprehension. Guidance by inheritance and
composition relationships in the OO program was not dominant, but nevertheless
played a substantial role in expert program comprehension. However, these
static relationships more closely tied to the OO nature of the program were
exploited poorly by novices. To conclude, these results are discussed with
respect to the literature on procedural program comprehension.
