Computer Science and Engineering, Department of


First Advisor

Dr. Robert Dyer

Date of this Version

Fall 12-2-2022


A THESIS Presented to the Faculty of The Graduate College at the University of Nebraska In Partial Fulfillment of Requirements For the Degree of Master of Science, Major: Computer Science, Under the Supervision of Professor Robert Dyer. Lincoln, Nebraska: December, 2022

Copyright © 2022 Jigyasa Chauhan


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.

Adviser: Robert Dyer