Java program debugging was investigated in computer science students who used a software debugging environment (SDE) that provided concurrently displayed, adjacent, multiple and linked representations consisting of the program code, a visualisation of the program, and its output.
The aim of this investigation was to address questions such as ?To what extent do programmers use each type of representation??, ?Are particular patterns of representation use associated with superior debugging performance??, ?Are graphical representations more helpful to Java programmers than textual ones?? and ?Are representations that highlight data structure more useful than those that highlight control-flow for Java debugging??
A modified version of the Restricted Focus Viewer (RFV) — a visual attention tracking system — was employed to measure the degree to which each of the representations was used, and to record switches between representations. The experimental results are in agreement with research in the area that suggests that control-flow information is difficult to decode in an Object-Oriented language like Java. These results also suggest that graphical representations might be more useful than textual ones when the degree of difficulty of the debugging task poses a challenge to programmers. Additionally, the results link programming experience to switching behaviour, suggesting that although switches between the code and the visualisation are the most common ones, programming experience might promote a more balanced switching behaviour between the main representation, the code, and the secondary ones.