Expertise-dependent visual attention strategies develop over time during debugging with multiple code representations
In modern multi-representational environments, software developers need to coordinate various information sources to effectively perform maintenance tasks. Although visual attention is an important skill in software development, our current understanding of the role of visual attention in the coordination of representations during maintenance tasks is minimal. Therefore, we applied eye-tracking to capture visual attention strategies and construct a detailed account of visual attention during debugging. Two groups of programmers with two distinct levels of experience debugged a program with the help of multiple representations. The proportion of time spent looking at each representation, the frequency of switching attention between visualrepresentations and the type of switch were investigated during consecutive phases of debugging. We found repetitive patterns in visual strategies that were associated with less expertise and lower performance. Novice developers made use of both the code and graphical representations while frequently switching between them. More experienced participants expended more efforts integrating the available information and primarily concentrated on systematically relating the code to the output. Our results informed us about the differences in program debugging strategies from a fine-grain, temporal perspective and have implications for the design of future development environments.
visual attention program debugging expertise in programming