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 条
  • [21] Developers' Code Context Models for Change Tasks
    Fritz, Thomas
    Shepherd, David C.
    Kevic, Katja
    Snipes, Will
    Braunlich, Christoph
    22ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (FSE 2014), 2014, : 7 - 18
  • [22] How Do Developers Select and Prioritize Code Smells? A Preliminary Study
    Sae-Lim, Natthawute
    Hayashi, Shinpei
    Saeki, Motoshi
    2017 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2017, : 484 - 488
  • [23] A Preliminary Interview Study on Developers' Perceptions of Code Smell Detection in Industry
    Ribeiro, Felipe
    Fernandes, Eduardo
    Figueiredo, Eduardo
    QUALITY OF INFORMATION AND COMMUNICATIONS TECHNOLOGY, QUATIC 2024, 2024, 2178 : 344 - 352
  • [24] Influences of developers' perspectives on their engagement with security in code
    Rauf, Irum
    Lopez, Tamara
    Sharp, Helen
    Petre, Marian
    Tun, Thein
    Levine, Mark
    Towse, John
    van der Linden, Dirk
    Rashid, Awais
    Nuseibeh, Bashar
    15TH INTERNATIONAL CONFERENCE ON COOPERATIVE AND HUMAN ASPECTS OF SOFTWARE ENGINEERING (CHASE 2022), 2022, : 86 - 95
  • [25] Code Review Quality: How Developers See It
    Kononenko, Oleksii
    Baysal, Olga
    Godfrey, Michael W.
    2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2016, : 1028 - 1038
  • [26] Do Developers Focus on Severe Code Smells?
    Saika, Tsubasa
    Choi, Eunjong
    Yoshida, Norihiro
    Haruna, Shusuke
    Inoue, Katsuro
    2016 IEEE 23RD INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), VOL 4, 2016, : 1 - 3
  • [27] Of Code and Context: Collaboration Between Developers and Translators
    Ressin, Malte
    Abdelnour-Nocera, Jose
    Smith, Andy
    PROCEEDINGS OF THE 4TH INTERNATIONAL WORKSHOP ON COOPERATIVE AND HUMAN ASPECTS OF SOFTWARE ENGINEERING (CHASE'11), 2011, : 50 - 52
  • [28] Profiling Developers to Predict Vulnerable Code Changes
    Coskun, Tugce
    Halepmollasi, Rusen
    Hanifi, Khadija
    Fouladi, Ramin Fadaei
    De Cnudde, Pinar Comak
    Tosun, Ayse
    PROCEEDINGS OF THE 18TH INTERNATIONAL CONFERENCE ON PREDICTIVE MODELS AND DATA ANALYTICS IN SOFTWARE ENGINEERING, PROMISE 2022, 2022, : 32 - 41
  • [29] Nudging Software Developers Toward Secure Code
    Fischer, Felix
    Grossklags, Jens
    IEEE SECURITY & PRIVACY, 2022, 20 (02) : 76 - 79
  • [30] What's bothering developers in code review?
    Soderberg, Emma
    Church, Luke
    Borstler, Jurgen
    Niehorster, Diederick C.
    Rydenfalt, Christofer
    2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: SOFTWARE ENGINEERING IN PRACTICE (ICSE-SEIP 2022), 2022, : 341 - 342