Visual attention and representation switching in Java program debugging: A study using eye movement tracking (original) (raw)
Related papers
2002
Java program debugging was investigated in programmers who used a software debugging environment (SDE) that provided concurrently displayed, adjacent, multiple and linked representations consisting of the program code, a functional visualisation of the program, and its output. A modified version of the Restricted Focus Viewer (RFV)[3] — 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. Other measures included debugging performance (number of bugs identified, the order in which they were identified, bug discovery latencies, etc.). The aim of this investigation was to address questions such as ‘To what extent do programmers use each type of representation?’ and ‘Are particular patterns of representational use associated with superior debugging performance?’. A within-subject design, and comparison of performance under (matched) RFV/no-RFV task conditions, allowed the use of the RFV as an attention-tracking tool to be validated in the programming domain. The results also provide tentative evidence that superior debugging using multiple-representation SDE’s tends to be associated with a) the predominant use of the program code representation, and b) frequent switches between the code representation and the visualisation of the program execution.
A Survey on the Usage of Eye-Tracking in Computer Programming
ACM Computing Surveys, 2019
Traditional quantitative research methods of data collection in programming, such as questionnaires and interviews, are the most common approaches for researchers in this field. However, in recent years, eye-tracking has been on the rise as a new method of collecting evidence of visual attention and the cognitive process of programmers. Eye-tracking has been used by researchers in the field of programming to analyze and understand a variety of tasks such as comprehension and debugging. In this article, we will focus on reporting how experiments that used eye-trackers in programming research are conducted, and the information that can be collected from these experiments. In this mapping study, we identify and report on 63 studies, published between 1990 and June 2017, collected and gathered via manual search on digital libraries and databases related to computer science and computer engineering. Among the five main areas of research interest are program comprehension and debugging, w...
International Journal of Human-Computer Studies, 2012
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.