ICPC 2019
Sat 25 - Sun 26 May 2019 Montreal, QC, Canada
co-located with ICSE 2019

Background: Conditional compilation is often used to implement variability in configurable systems. This technique relies on #ifdefs to delimit feature code. Previous studies have shown that #ifdefs may hinder code comprehensibility. However, they did not explicitly took feature dependencies into account. Feature dependency occurs when different features refer to the same program element, such as a variable. Comprehensibility may be even more affected in the presence of feature dependency, as the developer must reason about different scenarios affecting the same variable. Aim: Our goal is to understand how feature dependency affects the comprehensibility of the configurable system source code. Method: We carried out an experiment in which 30 developers debugged programs with different types of feature dependency. We recorded the time each of them had spent to find a bug. Also, we used an eye-tracking device to record developers’ gaze movements while they debugged programs. Results: Debugging programs with global and interprocedural dependency required more time and higher visual effort. Conclusion: Our study showed that #ifdefs affect comprehensibility in different degrees depending on the type of feature dependency. Therefore, when possible, developers should take more care when dealing with code with global and interprocedural dependencies.

Sat 25 May

Displayed time zone: Eastern Time (US & Canada) change

11:00 - 12:40
Session II: Comprehending program comprehension IIICPC 2019 Technical Research / ICPC 2019 Negative Results at Laurier
Chair(s): Fabio Petrillo Université du Québec à Chicoutimi, Canada
11:00
20m
Full-paper
How Does Feature Dependency Affect Configurable System Comprehensibility?
ICPC 2019 Technical Research
Djan Almeida Santos Federal Institute of Bahia, Cláudio Sant'Anna
Pre-print
11:20
20m
Full-paper
Live Programming and Software Evolution: Questions during a Programming Change Task
ICPC 2019 Technical Research
Juraj Kubelka University of Chile, Romain Robbes Free University of Bozen-Bolzano, Alexandre Bergel University of Chile
Pre-print
11:40
20m
Full-paper
Measuring the Cognitive Load of Software Developers: A Systematic Mapping Study
ICPC 2019 Technical Research
Lucian Gonçales University of Vale do Rio dos Sinos (UNISINOS), Kleinner Farias , Bruno da Silva Cal Poly, San Luis Obispo, Jonathan Fessler
Pre-print
12:00
20m
Full-paper
A Large-Scale Empirical Study on Code-Comment Inconsistencies
ICPC 2019 Technical Research
Fengcai Wen , Csaba Nagy Università della Svizzera italiana (USI), Gabriele Bavota Università della Svizzera italiana (USI), Michele Lanza Universita della Svizzera italiana (USI)
12:20
20m
Full-paper
An empirical study on practicality of specification mining algorithms on a real-world application
ICPC 2019 Negative Results
Mohammad Jafar Mashhadi University of Calgary, Hadi Hemmati University of Calgary