Comprehension of 'Large' Programs in the Context of a Program Maintenance Task
01 August 1987
The strategies used by programmers to understand a program vary with its size. A careful line-by-line reading is appropriate for a 20-line program but obviously impossible for one with a million lines.
We report a protocol study in which experienced computer scientists were asked to think aloud while adding call processing features to an experimental distributed telephone switching system (approximately 9,000 non-commentary lines of C++, an extension to C for data abstraction). The strategies they used varied somewhat from those typically reported in studies using significantly smaller programs.