Eyes on Code: A Study on Developers' Code Navigation Strategies

被引:7
|
作者
Sharafi, Zohreh [1 ]
Bertram, Ian [1 ]
Flanagan, Michael [1 ]
Weimer, Westley [1 ]
机构
[1] Univ Michigan, Dept Elect Engn & Comp Sci, Ann Arbor, MI 48109 USA
关键词
Navigation; Task analysis; Computer bugs; Tools; Maintenance engineering; Software; Switches; Code navigation; eye tracking; human factors; software maintenance; STEREOTYPE THREAT; CONTEXTS; USAGE;
D O I
10.1109/TSE.2020.3032064
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
What code navigation strategies do developers use and what mechanisms do they employ to find relevant information? Do their strategies evolve over the course of longer tasks? Answers to these questions can provide insight to educators and software tool designers to support a wide variety of programmers as they tackle increasingly-complex software systems. However, little research to date has measured developers' code navigation strategies in ecologically-valid settings, or analyzed how strategies progressed throughout a maintenance task. We propose a novel experimental design that more accurately represents the software maintenance process in terms of software complexity and IDE interactions. Using this framework, we conduct an eye-tracking study (n=36) of realistic bug-fixing tasks, dynamically and empirically identifying relevant code areas. We introduce a three-phase model to characterize developers' navigation behavior supported by statistical variations in eye movements over time. We also propose quantifiable notion of "thrashing" with the code as a navigation activity. We find that thrashing is associated with lower effectiveness. Our results confirm that the relevance of various code elements changes over time, and that our proposed three-phase model is capable of capturing these significant changes. We discuss our findings and their implications for tool designers, educators, and the research community.
引用
收藏
页码:1692 / 1704
页数:13
相关论文
共 50 条
  • [31] Training Developers to Code Securely: Theory and Practice
    Ryan, Ita
    Roedig, Utz
    Stol, Klaas-Jan
    PROCEEDINGS 2024 IEEE/ACM 4TH INTERNATIONAL WORKSHOP ON ENGINEERING AND CYBERSECURITY OF CRITICAL SYSTEMS AND 2024 IEEE/ACM SECOND INTERNATIONAL WORKSHOP ON SOFTWARE VULNERABILITY, ENCYCRIS/SVM 2024, 2024, : 37 - 44
  • [32] „Low-Code/No-Code: Citizen Developers and the Surprising Future of Business Applications“
    Markus Westner
    HMD Praxis der Wirtschaftsinformatik, 2024, 61 (5) : 1369 - 1372
  • [33] Salient-Class Location: Help Developers Understand Code Change in Code Review
    Huang, Yuan
    Jia, Nan
    Chen, Xiangping
    Hong, Kai
    Zheng, Zibin
    ESEC/FSE'18: PROCEEDINGS OF THE 2018 26TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2018, : 770 - 774
  • [34] How Do Developers Adapt Code Snippets to Their Contexts? An Empirical Study of Context-Based Code Snippet Adaptations
    Zhang, Tanghaoran
    Lu, Yao
    Yu, Yue
    Mao, Xinjun
    Zhang, Yang
    Zhao, Yuxin
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2024, 50 (11) : 2712 - 2731
  • [35] The Polar Code and Arctic Navigation
    Sakhuja, Vijay
    STRATEGIC ANALYSIS, 2014, 38 (06) : 803 - 811
  • [36] Temporal Code Completion and Navigation
    Lee, Yun Young
    Harwell, Sam
    Khurshid, Sarfraz
    Marinov, Darko
    PROCEEDINGS OF THE 35TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2013), 2013, : 1181 - 1184
  • [37] The Patchworks Code Editor: Toward Faster Navigation with Less Code Arranging and Fewer Navigation Mistakes
    Henley, Austin Z.
    Fleming, Scott D.
    32ND ANNUAL ACM CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS (CHI 2014), 2014, : 2511 - 2520
  • [38] An empirical study of developers' challenges in implementing Workflows as Code: A case study on Apache Airflow
    Yasmin, Jerin
    Wang, Jiale Amber
    Tian, Yuan
    Adams, Bram
    JOURNAL OF SYSTEMS AND SOFTWARE, 2025, 219
  • [39] Do Developers Care about Code Smells? A Replicated Study from Chile
    Ancan, Oscar
    Cares, Carlos
    2017 CHILEAN CONFERENCE ON ELECTRICAL, ELECTRONICS ENGINEERING, INFORMATION AND COMMUNICATION TECHNOLOGIES (CHILECON), 2017,
  • [40] Do they Really Smell Bad? A Study on Developers' Perception of Bad Code Smells
    Palomba, Fabio
    Bavota, Gabriele
    Di Penta, Massimiliano
    Oliveto, Rocco
    De Lucia, Andrea
    2014 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2014, : 101 - 110