首页|Programmer Visual Attention During Context-Aware Code Summarization

Programmer Visual Attention During Context-Aware Code Summarization

扫码查看
Programmer attention represents the visual focus of programmers on parts of the source code in pursuit of programming tasks. The focus of current research in modeling this programmer attention has been on using mouse cursors, keystrokes, or eye tracking equipment to map areas in a snippet of code. These approaches have traditionally only mapped attention for a single method. However, there is a knowledge gap in the literature because programming tasks such as source code summarization require programmers to use contextual knowledge that can only be found in other parts of the project, not only in a single method. To address this knowledge gap, we conducted an in-depth human study with 10 Java programmers, where each programmer generated summaries for 40 methods from five large Java projects over five one-hour sessions. We used eye tracking equipment to map the visual attention of programmers while they wrote the summaries. We also rate the quality of each summary. We found eye-gaze patterns and metrics that define common behaviors between programmer attention during context-aware code summarization. Specifically, we found that programmers need to read up to 35% fewer words (p $\boldsymbol{ \lt }$ 0.01) over the whole session, and revisit 13% fewer words (p $ \lt $ 0.03) as they summarize each method during a session, while maintaining the quality of summaries. We also found that the amount of source code a participant looks at correlates with a higher quality summary, but this trend follows a bell-shaped curve, such that after a threshold reading more source code leads to a significant decrease (p $\boldsymbol{ \lt }$ 0.01) in the quality of summaries. We also gathered insight into the type of methods in the project that provide the most contextual information for code summarization based on programmer attention. Specifically, we observed that programmers spent a majority of their time looking at methods inside the same class as the target method to be summarized. Surprisingly, we found that programmers spent significantly less time looking at methods in the call graph of the target method. We discuss how our empirical observations may aid future studies towards modeling programmer attention and improving context-aware automatic source code summarization.

CodesVisualizationSource codingGaze trackingUnified modeling languageJavaContext modelingCognitive scienceAlgorithmsProgramming

Robert Wallace、Aakash Bansal、Zachary Karas、Ningzhi Tang、Yu Huang、Toby Jia-Jun Li、Collin McMillan

展开 >

Department of Computer Science and Engineering, University of Notre Dame, Notre Dame, IN, USA|Department of Computer Science, Vanderbilt University, Nashville, TN, USA

2025

IEEE transactions on software engineering

IEEE transactions on software engineering

ISSN:
年,卷(期):2025.51(5)
  • 58