The effect of object-oriented programming expertise in several dimensions of comprehension strategies

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.

[1]  Scott P. Robertson,et al.  Expert problem solving strategies for program comprehension , 1991, CHI.

[2]  Susan Wiedenbeck,et al.  Beacons in Computer Program Comprehension , 1986, Int. J. Man Mach. Stud..

[3]  F. Détienne Program understanding and knowledge organization: the influence of acquired schemata , 1990 .

[4]  Françoise Détienne,et al.  An Empirically-Derived Control Structure for the Process of Program Understanding , 1990, Int. J. Man Mach. Stud..

[5]  Johnette Hassell,et al.  Information Relationships in PROLOG Programs: How Do Programmers Comprehend Functionality? , 1991, Int. J. Man Mach. Stud..

[6]  Kate Ehrlich,et al.  Empirical Studies of Programming Knowledge , 1984, IEEE Transactions on Software Engineering.

[7]  Elliot Soloway,et al.  Mental models and software maintenance , 1986, J. Syst. Softw..

[8]  David J. Gilmore,et al.  Comprehension and Recall of Miniature Programs , 1984, Int. J. Man Mach. Stud..

[9]  N. Pennington Stimulus structures and mental representations in expert comprehension of computer programs , 1987, Cognitive Psychology.

[10]  Bob Rehder,et al.  Cognitive activities and levels of abstraction in procedural and object-oriented design , 1995 .

[11]  Françoise Détienne,et al.  Design Strategies and Knowledge in Object-Oriented Programming: Effects of Experience , 1995, Hum. Comput. Interact..

[12]  Françoise Détienne,et al.  Mental Representations Constructed by Experts and Novices in Object-Oriented Program Comprehension , 1997, INTERACT.