Eye Movements in Code Reading: Relaxing the Linear Order

被引:145
作者
Busjahn, Teresa [1 ]
Bednarik, Roman [2 ]
Begel, Andrew [3 ]
Crosby, Martha [4 ]
Paterson, James H. [5 ]
Schulte, Carsten [1 ]
Sharif, Bonita [6 ]
Tamm, Sascha [7 ]
机构
[1] Free Univ Berlin, Inst Comp Sci, Berlin, Germany
[2] Univ Eastern Finland, Sch Comp, Joensuu, Finland
[3] Microsoft Res, Redmond, WA USA
[4] Univ Hawaii Manoa, Informat & Comp Sci, Honolulu, HI 96822 USA
[5] Glasgow Caledonian Univ, Dept Comp Commun & Interact Syst, Glasgow G4 0BA, Lanark, Scotland
[6] Youngstown State Univ, Comp Sci & Informat Syst, Youngstown, OH USA
[7] Free Univ Berlin, Ctr Appl Neurosci, Berlin, Germany
来源
2015 IEEE 23RD INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION ICPC 2015 | 2015年
关键词
D O I
10.1109/ICPC.2015.36
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Code reading is an important skill in programming. Inspired by the linearity that people exhibit while natural language text reading, we designed local and global gaze-based measures to characterize linearity (left-to-right and top-to-bottom) in reading source code. Unlike natural language text, source code is executable and requires a specific reading approach. To validate these measures, we compared the eye movements of novice and expert programmers who were asked to read and comprehend short snippets of natural language text and Java programs. Our results show that novices read source code less linearly than natural language text. Moreover, experts read code less linearly than novices. These findings indicate that there are specific differences between reading natural language and source code, and suggest that non-linear reading skills increase with expertise. We discuss the implications for practitioners and educators.
引用
收藏
页码:255 / 265
页数:11
相关论文
共 31 条
[1]  
[Anonymous], THESIS
[2]   UNDERSTANDING AND DOCUMENTING PROGRAMS [J].
BASILI, VR ;
MILLS, HD .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1982, 8 (03) :270-283
[3]   Expertise-dependent visual attention strategies develop over time during debugging with multiple code representations [J].
Bednarik, Roman .
INTERNATIONAL JOURNAL OF HUMAN-COMPUTER STUDIES, 2012, 70 (02) :143-155
[4]   TOWARDS A THEORY OF THE COMPREHENSION OF COMPUTER-PROGRAMS [J].
BROOKS, R .
INTERNATIONAL JOURNAL OF MAN-MACHINE STUDIES, 1983, 18 (06) :543-554
[5]   Learning a Metric for Code Readability [J].
Buse, Raymond P. L. ;
Weimer, Westley R. .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2010, 36 (04) :546-558
[6]  
Busjahn T., 2011, Proceedings of the 11th Koli Calling International Conference on Computing Education Research, P1, DOI 10.1145/2094131.2094133
[7]  
Busjahn Teresa, 2014, P 10 ANN C INT COMP, P3, DOI DOI 10.1145/2632320.2632344
[8]   ScanMatch: A novel method for comparing fixation sequences [J].
Cristino, Filipe ;
Mathot, Sebastiaan ;
Theeuwes, Jan ;
Gilchrist, Iain D. .
BEHAVIOR RESEARCH METHODS, 2010, 42 (03) :692-700
[9]  
Crosby Martha E, 2002, 14 WORKSH PSYCH PROG, P58
[10]   HOW DO WE READ ALGORITHMS - A CASE-STUDY [J].
CROSBY, ME ;
STELOVSKY, J .
COMPUTER, 1990, 23 (01) :24-35