Variability through the Eyes of the Programmer
Jun 29, 2017·
,,,·
0 min read
Jean Melo
Fabricio Batista Narcizo
Dan Witzner Hansen
Claus Brabrand
Andrzej Wasowski

Abstract
Preprocessor directives (#ifdefs) are often used to implement compile-time variability, despite the critique that they increase complexity, hamper maintainability, and impair code comprehensibility. Previous studies have shown that the time of bug finding increases linearly with variability. However, little is known about the cognitive process of debugging programs with variability. We carry out an experiment to understand how developers debug programs with variability. We ask developers to debug programs with and without variability, while recording their eye movements using an eye tracker. The results indicate that debugging time increases for code fragments containing variability. Interestingly, debugging time also seems to increase for code fragments without variability in the proximity of fragments that do contain variability. The presence of variability correlates with increase in the number of gaze transitions between definitions and usages for fields and methods. Variability also appears to prolong the “initial scan” of the entire program that most developers initiate debugging with.
Type
Publication
In 2017 IEEE/ACM 25th International Conference on Program Comprehension (ICPC)
Complexity Theory
Computer Bugs
Debugging
Games
Open Source Software
Tools
Tracking
Eye-Tracking
Highly-Configurable Systems
Preprocessors
Variability

Authors
Fabricio Batista Narcizo
(he/him)
Senior AI Research Scientist
Fabricio Batista Narcizo is a Senior AI Research Scientist in the Video Technology department at GN Hearing A/S (Jabra) and a Part-Time Lecturer and Course Manager at the IT University of Copenhagen (ITU). He received his Ph.D. degree in Computer Science from the ITU in 2017, his M.Sc. degree in Electronic & Computer Engineering from the Aeronautics Institute of Technology (ITA) in 2008, and his B.Sc. degree in Computer Science from the University of Western Santa Catarina (UNOESC) in 2005. His research interests lie in computer vision, image analysis, artificial intelligence, data science, data mining, machine learning, edge AI, and human-computer interaction, with a particular interest in eye-tracking.