  The goal of our study is to evaluate the effect on program comprehension of
three factors that have not previously been studied in a single experiment.
These factors are programmer expertise (expert vs. novice), programming task
(documentation vs. reuse), and the development of understanding over time
(phase 1 vs. phase 2). This study is carried out in the context of the mental
model approach to comprehension based on van Dijk and Kintsch's model (1983).
One key aspect of this model is the distinction between two kinds of
representation the reader might construct from a text: 1) the textbase, which
refers to what is said in the text and how it is said, and 2) the situation
model, which represents the situation referred to by the text. We have
evaluated the effect of the three factors mentioned above on the development of
both the textbase (or program model) and the situation model in object-oriented
program comprehension. We found a four-way interaction of expertise, phase,
task and type of model. For the documentation group we found that experts and
novices differ in the elaboration of their situation model but not their
program model. There was no interaction of expertise with phase and type of
model in the documentation group. For the reuse group, there was a three-way
interaction between phase, expertise and type of model. For the novice reuse
group, the effect of the phase was to increase the construction of the
situation model but not the program model. With respect to the task, our
results show that novices do not spontaneously construct a strong situation
model but are able to do so if the task demands it.
