An Analysis of the Variability in Forty Preprocessor-Based Software Product Lines

Free registration required

Executive Summary

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 abstraction 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, the authors have analyzed forty open-source software projects written in C. Specifically, they 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.

  • Format: PDF
  • Size: 264.6 KB