🤖 AI Summary
This work proposes GazePrinter, a novel approach to support novice programmers in navigating unfamiliar codebases by visualizing the collective gaze trajectories of expert developers directly within the programming environment. Addressing the inefficiency novices often experience due to insufficient guidance, GazePrinter leverages joint attention mechanisms to provide dynamic visual cues derived from experts’ eye-tracking data. The system integrates gaze-path visualization and was evaluated through a mixed-methods study combining eye-tracking experiments, questionnaires, and interviews. Results demonstrate that novices using GazePrinter adopt code-reading patterns significantly closer to those of experts, leading to reduced cognitive load and faster task completion. This study thus introduces an effective and innovative tool for enhancing programming education through attention-guided learning.
📝 Abstract
Program comprehension is an essential activity in software engineering. Not only does it often challenge professionals, but it can also hinder novices from advancing their programming skills. Gaze, an emerging modality in developer tools, has so far primarily been utilized to improve our understanding of programmers' visual attention and as a means to reason about programmers' cognitive processes. There has been limited exploration of integrating gaze-based assistance into development environments to support programmers, despite the tight links between attention and gaze. We also know that joint attention is important in collaboration, further suggesting that there is value in exploring collective gaze.
In this paper, we investigate the effect of visualizing gaze patterns gathered from experts to novice programmers to assist them with program comprehension in a new codebase. To this end, we present GazePrinter, designed to provide gaze-orienting visual cues informed by experts to aid novices with program comprehension. We present the results of a mixed-methods study conducted with 40 novices to study the effects of using GazePrinter for program comprehension tasks. The study included a survey, a controlled experiment, and interviews. We found that visualization of expert gaze can have a significant effect on novice programmers' behavior in terms of which path they take through the code base; with GazePrinter, novices took a path closer to the path taken by experts. We also found indications of reduced time and cognitive load among novices using GazePrinter.