Variability through the Eyes of the Programmer

Jean Melo, Fabricio Batista Narcizo, Dan Witzner Hansen, Claus Brabrand, Andrzej Wasowski

Publikation: Konference artikel i Proceeding eller bog/rapport kapitelKonferencebidrag i proceedingsForskningpeer review

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.
OriginalsprogEngelsk
Titel2017 IEEE/ACM 25th International Conference on Program Comprehension (ICPC)
Antal sider11
ForlagIEEE
Publikationsdato1 maj 2017
Sider34-44
ISBN (Elektronisk)978-1-5386-0535-6
DOI
StatusUdgivet - 1 maj 2017
Begivenhed2017 IEEE/ACM 25th International Conference on Program Comprehension - Buenos Aires, Buenos Aires, Argentina
Varighed: 22 maj 201723 maj 2017
Konferencens nummer: 25th
http://icpc2017.unibas.it

Konference

Konference2017 IEEE/ACM 25th International Conference on Program Comprehension
Nummer25th
LokationBuenos Aires
Land/OmrådeArgentina
ByBuenos Aires
Periode22/05/201723/05/2017
Internetadresse

Emneord

  • cognition
  • gaze tracking
  • human factors
  • program compilers
  • program debugging
  • software maintenance
  • code comprehensibility
  • code fragments
  • cognitive process
  • compile-time variability
  • debugging time
  • eye movements
  • eye tracker
  • gaze transitions
  • preprocessor directives
  • software maintainability
  • Complexity theory
  • Computer bugs
  • Debugging
  • Games
  • Open source software
  • Tools
  • Tracking
  • Eye Tracking
  • Highly-Configurable Systems
  • Preprocessors
  • Variability

Fingeraftryk

Dyk ned i forskningsemnerne om 'Variability through the Eyes of the Programmer'. Sammen danner de et unikt fingeraftryk.

Citationsformater