Robert Dyer Robert Dyer

Assistant Professor
School of Computing
University of Nebraska–Lincoln

EmailGitHubLinkedInCVGoogle Scholar

An Empirical Study on the Classification of Python Language Features Using Eye-Tracking

Published: December 1, 2022
A master's thesis at University of Nebraska-Lincoln

Python, currently one of the most popular programming languages, is an object- oriented language that also provides language feature support for other programming paradigms, such as functional and procedural. It is not currently understood how support for multiple paradigms affects the ability of developers to comprehend that code. Understanding the predominant paradigm in code, and how developers classify the predominant paradigm, can benefit future research in program comprehension as the paradigm may factor into how people comprehend that code. Other researchers may want to look at how the paradigms in the code interact with various code smells. To investigate how developers classify the predominant paradigm in Python code, we performed an empirical study while utilizing an eye-tracker. The goal was to see if developers gaze at specific language features while classifying the predominant paradigm and debugging code samples. The study includes both qualitative and quantitative data from 29 Python developers, including their gaze fixations during the tasks. We observed that participants seem to confuse the functional and procedural paradigms, possibly due to confusing terminology used in Python, though they do gaze at specific language features. Overall, participants took more time classifying functional code. The predominant paradigm did not affect their ability to debug code, though they gave lower confidence ratings for functional code.

Slides Preview

Download Download


Students



 Back to all publications