ECOOP 2015
Sun 5 - Fri 10 July 2015 Prague, Czech Republic
Thu 9 Jul 2015 18:00 - 18:30 at Bohemia - Empirical Studies Chair(s): Jonathan Aldrich

The C preprocessor has received strong criticism in academia, among others regarding separation of concerns, error proneness, and code obfuscation, but is widely used in practice. Many (mostly academic) alternatives to the preprocessor exist, but have not been adopted in practice. Since developers continue to use the preprocessor despite all criticism and research, we ask how practitioners perceive the C preprocessor. We performed interviews with 40 developers, used grounded theory to analyze the data, and cross-validated the results with data from a survey among 202 developers, repository mining, and results from previous studies. In particular, we investigated four research questions related to why the preprocessor is still widely used in practice, common problems, alternatives, and the impact of undisciplined annotations. Our study shows that developers are aware of the criticism the C preprocessor receives, but use it nonetheless, mainly for portability and variability. Many developers indicate that they regularly face preprocessor-related problems and preprocessor-related bugs. The majority of our interviewees do not see any current C-native technologies that can entirely replace the C preprocessor. However, developers tend to mitigate problems with guidelines, but those guidelines are not enforced consistently. We report the key insights gained from our study and discuss implications for practitioners and researchers on how to better use the C preprocessor to minimize its negative impact.

Thu 9 Jul

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

17:30 - 18:30
Empirical StudiesResearch Track at Bohemia
Chair(s): Jonathan Aldrich Carnegie Mellon University
17:30
30m
Talk
The Good, the Bad, and the Ugly: An Empirical Study of Implicit Type Conversions in JavaScript
Research Track
Michael Pradel TU Darmstadt, Koushik Sen University of California, Berkeley
18:00
30m
Talk
The Love/Hate Relationship with the C Preprocessor: An Interview Study
Research Track
Flavio Medeiros Federal University of Campina Grande, Christian Kästner Carnegie Mellon University, Márcio Ribeiro Federal University of Alagoas (UFAL), Sarah Nadi Technische Universität Darmstadt, Rohit Gheyi UFCG, Brazil