𝔖 Bobbio Scriptorium
✦   LIBER   ✦

Mental representations of expert procedural and object-oriented programmers in a software maintenance task

✍ Scribed by CYNTHIA L. CORRITORE; SUSAN WIEDENBECK


Publisher
Elsevier Science
Year
1999
Tongue
English
Weight
198 KB
Volume
50
Category
Article
ISSN
1071-5819

No coin nor oath required. For personal study only.

✦ Synopsis


This study examines the mental representations formed during program comprehension and maintenance by procedural and object-oriented (OO) experts. The programmer's mental representation reflects comprehension of a program and guides tasks carried out on the program, such as debugging and modifications. The goals of the research were three-fold: (a) to determine if and how the mental representations of procedural and OO experts differ, (2) to investigate the initial mental representation formed while comprehending a moderately large program and (3) to examine the evolution of the mental representations of procedural and OO experts over time as they carried out several modifications of the same program. Fifteen expert procedural programmers and 15 expert object-oriented programmers studied and then performed three program modifications during two sessions which were 7-10 days apart. They answered two question sets designed to elicit the categories of knowledge present in their mental representations at different times. The initial mental representation of the OO participants was dominated by problem domain-based knowledge and contained relatively little detailed program information. The procedural participants' initial representation was more balanced, containing domain-based knowledge and also substantial program detail. After performing the modifications, the procedural participants' representations remained essentially the same, while those of the OO participants became more balanced with respect to the program and domain elements. The results suggest that, regardless of paradigm, expert programmers build a mixed mental representation of a larger program, which includes detailed program knowledge as well as domain-based knowledge.