An Exploratory Eye Tracking Study on How Developers Classify and Debug Python Code in Different Paradigms
Modern programming languages, such as Python, support language features from several paradigms, such as object-oriented, procedural, and functional. Research has shown that code written in some paradigms can be harder to comprehend, but to date, no research has looked at which paradigm-specific language features impact comprehension. To this end, this study seeks to uncover which paradigm-specific features impact comprehension and debugging of code or how multi-paradigm code might affect a developer’s ability to do so. We present an exploratory empirical eye-tracking study to investigate 1) how developers classify the predominant paradigm in Python code and 2) how the paradigm affects their ability to debug Python code. The goal is to uncover if specific language features are looked at more often while classifying and debugging code with a predominant paradigm. Twenty-nine developers (primarily students) were recruited for the study and were each given four classification and four debugging tasks in Python. Eye movements were recorded during all the tasks. The results indicate confusion in labeling Functional and Procedural paradigms, but not Object-Oriented. The code with predominantly functional paradigms also took the longest to complete. Changing the predominant paradigm did not affect the ability to debug the code, though developers did rate themselves with lower confidence for Functional code. We report significant differences in reading patterns during debugging, especially in the Functional code. During classification, results show that developers do not necessarily read paradigm-relevant token types.
Wed 8 JulDisplayed time zone: Eastern Time (US & Canada) change
10:30 - 12:30 | Comprehension and MaintenanceIndustry Papers / Research Papers / Tool Demonstrations / Journal-First Paper at MB 5.215 Chair(s): Tushar Sharma Dalhousie University | ||
10:30 20mTalk | GAER: Graph Auto-Encoders for Unsupervised Software Architecture Recovery Research Papers Rakhshanda Jabeen Electrolux Professional, Morgan Ericsson Linnaeus University, Jonas Nordqvist Linnaeus University, Anna Wingkvist Linnaeus University | ||
10:50 20mTalk | Developer Perspectives on REST API Usability: A Study of REST API Guidelines Industry Papers Sven Peldszus Chalmers | University of Gothenburg, Jan Rutenkolk Ruhr University Bochum, Marcel Heide Ruhr University Bochum, Jan Sollmann Ruhr University Bochum, Benjamin Klatt viadee AG, Frank Köhne viadee AG, Thorsten Berger Ruhr University Bochum DOI Pre-print | ||
11:10 20mTalk | An Exploratory Eye Tracking Study on How Developers Classify and Debug Python Code in Different Paradigms Journal-First Paper Samuel W. Flint Dakota State University, Jigyasa Chauhan University of Nebraska-Lincoln, Niloofar Mansoor University of Nebraska-Lincoln, Bonita Sharif University of Nebraska-Lincoln, USA, Robert Dyer University of Nebraska-Lincoln DOI | ||
11:30 20mTalk | On the Structure and Semantics of Identifier Names Containing Closed Syntactic Category Words Journal-First Paper Christian D. Newman Rochester Institute of Technology, Anthony Peruma University of Hawai‘i at Mānoa, Eman Abdullah AlOmar Stevens Institute of Technology, USA, Mahie Crabbe University of Hawai‘i at Mānoa, Syreen Banabilah Kent State University, Reem Alsuhaibani Prince Sultan University, Michael J. Decker Bowling Green State University, Farhad Akhbardeh Briar Cliff University, Marcos Zampieri George mason University, Mohamed Wiem Mkaouer University of Michigan-Flint, Jonathan I. Maletic Kent State University Link to publication DOI | ||
11:50 10mTalk | Supporting the Comprehension of Data Analysis Scripts Tool Demonstrations Florian Sihler Ulm University, Oliver Gerstl Ulm University, Lars Pfrenger Ulm University, Julian Schubert Ulm University, Matthias Tichy Ulm University DOI Pre-print | ||
12:00 10mTalk | ZION: System Exploration With Class Contours Tool Demonstrations Mattia Giannaccari REVEAL @ Software Institute – USI, Lugano, Switzerland, Marco Raglianti REVEAL @ Software Institute – USI, Lugano, Switzerland, Michele Lanza Software Institute - USI, Lugano | ||
12:10 20mTalk | Evaluating Explanatory Artefacts of DSAR-Recovered Software Architectures from Industrial Codebases Industry Papers Satrio Adi Rukmono Institut Teknologi Bandung, Lina Ochoa Eindhoven University of Technology, Thijs Bressers ASML, Jacob Krüger Eindhoven University of Technology, Michel Chaudron Eindhoven University of Technology, The Netherlands | ||