Sciweavers

ICSE
2010
IEEE-ACM

An analysis of the variability in forty preprocessor-based software product lines

14 years 2 months ago
An analysis of the variability in forty preprocessor-based software product lines
Over 30 years ago, the preprocessor cpp was developed to extend the programming language C by lightweight metaprogramming capabilities. Despite its error-proneness and low ion level, the preprocessor is still widely used in present-day software projects to implement variable software. However, not much is known about how cpp is employed to implement variability. To address this issue, we have analyzed forty open-source software projects written in C. Specifically, we answer the following questions: How does program size influence variability? How complex are extensions made via cpp’s variability mechanisms? At which level of granularity are extensions applied? Which types of extension occur? These questions revive earlier discussions on program comprehension and refactoring in the context of the preprocessor. To provide answers, we introduce several metrics measuring the variability, complexity, granularity, and types of extension applied by preprocessor directives. Based on the c...
Jörg Liebig, Sven Apel, Christian Lengauer, C
Added 19 Jul 2010
Updated 19 Jul 2010
Type Conference
Year 2010
Where ICSE
Authors Jörg Liebig, Sven Apel, Christian Lengauer, Christian Kästner, Michael Schulze
Comments (0)