Title
Variability through the eyes of the programmer.
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.
Year
DOI
Venue
2017
10.1109/ICPC.2017.34
ICPC
Keywords
Field
DocType
Variability, Preprocessors, Debugging, Eye Tracking, Highly-Configurable Systems
Programming language,Programmer,Gaze,Computer science,Preprocessor,Eye tracking,Eye movement,Maintainability,Debugging
Conference
ISSN
ISBN
Citations 
1092-8138
978-1-5386-0536-3
3
PageRank 
References 
Authors
0.37
21
5
Name
Order
Citations
PageRank
Jean Melo1413.79
Fabricio Batista Narcizo250.78
Dan Witzner Hansen384250.34
Claus Brabrand433026.73
Andrzej Wasowski5128260.47