Abstract:
This paper reports the qualitative analysis part of a Java debugging experiment. 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 qualitative analysis was to characterise the debugging strategies employed by participants, both at the level of focus of attention and representation use as well as in terms of the general reasoning strategy deployed. 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 people start a debugging session by trying to understand the code of the program before they attempt to locate any bugs. Two different strategies to locate bugs were detected: by spotting something odd in the program code and by comparing information from the different external representations available. These strategies may be linked to cognitive characteristics of the programmer such as level of programming skill and display modality preference.
The aim of this qualitative analysis was to characterise the debugging strategies employed by participants, both at the level of focus of attention and representation use as well as in terms of the general reasoning strategy deployed. 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 people start a debugging session by trying to understand the code of the program before they attempt to locate any bugs. Two different strategies to locate bugs were detected: by spotting something odd in the program code and by comparing information from the different external representations available. These strategies may be linked to cognitive characteristics of the programmer such as level of programming skill and display modality preference.