The Initial Stage of Program Comprehension

Beacons are stereotypical segments of code which serve as typical indicators of the presence of a particular programming structure or operation. Four experiments were carried out to study the role of beacons in programmers' initial formation of knowledge of program function. It was found that the presence of a beacon made a program easier for experienced programmers to comprehend on initial study. This was found to be true even when the specific program containing the beacon was previously unfamiliar to the programmer. Also, beacons which were inappropriately placed in a program where they did not belong lead to “false comprehension” of the program's function. If a strong beacon for some operation was present, programmers tended to use it to form their initial idea of a program's function and to largely ignore other information which contradicted it. As a whole, the results of the experiments suggest that beacons may play an important role in the initial high-level comprehension of programs.