Eye movements in code reading: relaxing the linear order

Teresa Busjahn, Roman Bednarik, Andrew Begel, Martha Crosby, James Paterson, Carsten Schulte, Bonita Sharif, Sascha Tamm

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    122 Citations (Scopus)
    520 Downloads (Pure)


    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.
    Original languageEnglish
    Title of host publication2015 IEEE 23rd International Conference on Program Comprehension
    Number of pages11
    ISBN (Print)978-1-4673-8159-8
    Publication statusPublished - 7 Sep 2015


    • eye tracking
    • novice
    • expert
    • eye movement
    • code reading


    Dive into the research topics of 'Eye movements in code reading: relaxing the linear order'. Together they form a unique fingerprint.
    • EMIP: The eye movements in programming dataset

      Bednarik, R., Busjahn, T., Gibaldi, A., Ahadi, A., Bielikova, M., Crosby, M., Essig, K., Fagerholm, F., Jbara, A., Lister, R., Orlov, P., Paterson, J., Sharif, B., SirkiäFIn, T., Stelovsky, J., Tvarozek, J., Vrzakova, H. & van der Linde, I., 15 Oct 2020, In: Science of Computer Programming. 198, 11 p., 102520.

      Research output: Contribution to journalArticlepeer-review

      8 Citations (Scopus)

    Cite this