Key points are not available for this paper at this time.
Program comprehension is a complex problem solving process. We report on an experiment that studies expert programmers’ comprehension behavior in the context of modifying a complex PASCAL program. Our data suggests that program comprehension is best understood as a goal– oriented, hypotheses-driven problem–solving process. Programmers follow a pragmatic as-needed rather than a systematic strategy, they restrict their understanding to those parts of a program they find relevant for a given task, and they use bottom-up comprehension only for directly relevant code and in cases of missing, insufficient, or failing hypotheses. These findings have important consequences for the design of cognitively adequate computer–aided software engineering tools.
Koenemann et al. (Tue,) studied this question.