Structural Knowledge and Language Notational Properties in Program Comprehension

Several accounts of program comprehension have taken the theory of text comprehension by Kinstch as a starting point to model the mental representations built when programmers understand a computer program. A crucial point that these accounts try to explain is how these mental representations are organised. According to Kintsch's theory, the mental representations built as a product of the text comprehension process are interrelated propositional networks whose organisation is determined by the main idea of the text. In program comprehension, this main idea has been understood in terms of functionality. This paper contends this notion, proposing that in program understanding programmer's mental representations are multifaceted and organised through several criteria. Which of these is the most important one depends on the programming language employed among other factors. The fact that functional information appeared as crucial might have been because most of the empirical research that has been undertaken has employed procedural languages. This claim is tested empirically by analysing the mental representations of programmers in Prolog, a declarative programming language. The results support our claim by showing that in this case data structure information is more important than function

[1]  Walter Kintsch,et al.  Toward a model of text comprehension and production. , 1978 .

[2]  Michael E. Atwood,et al.  Cognitive structures in the comprehension and memory of computer programs: an investigation of compu , 1978 .

[3]  Ruven E. Brooks,et al.  Towards a Theory of the Comprehension of Computer Programs , 1983, Int. J. Man Mach. Stud..

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

[5]  Joyce Graham Baltas,et al.  Story Knowledge in Preschoolers: A Comprehensive View , 1986 .

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

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

[8]  David J. Gilmore,et al.  Programming Plans and Programming Expertise , 1988 .

[9]  Robert S. Rist Schema Creation in Programming , 1989, Cogn. Sci..

[10]  Timothy S. Gegg-Harrison Learning Prolog in a schema-based environment , 1991 .

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

[12]  James C. Spohrer,et al.  Empirical Studies of Programmers: Fifth Workshop , 1993 .

[13]  Simon P. Davies,et al.  Models and Theories of Programming Strategy , 1993, Int. J. Man Mach. Stud..

[14]  Walter Kintsch,et al.  Comprehension: A Paradigm for Cognition , 1998 .

[15]  Pablo Romero Focal structures and information types in Prolog , 2001, Int. J. Hum. Comput. Stud..