Characterization of the Linux configuration system

Ahmad Jbara

Research output: Chapter in Book/Report/Conference proceedingConference contribution

1 Scopus citations


Variability in software systems is often expressed using the C pre-processor (CPP). However, CPP has been identified as problematic. We argue that CPP is not as bad as its reputation suggests, and indeed many large systems use it effectively. We perform a deep analysis of the Linux configuration options, and find significant inconsistencies between the source code and the configuration control system. We found that the distribution of the source code config options is heavy-tailed, with some options having more than a thousand instances in the code. Such wide use seems to imply a massive coupling between different parts of the system. However, we argue that employing a purely syntactic analysis, as is commonly done in recent work, is insufficient. By involving semantic considerations, we find that in reality the coupling induced by the very frequent options is limited. We believe that deep characterization as well as semantic consideration are a good basis for future developing of different metrics for the CPP complexity.

Original languageEnglish (US)
Title of host publication2012 20th IEEE International Conference on Program Comprehension, ICPC 2012 - Proceedings
PublisherIEEE Computer Society
Number of pages4
ISBN (Print)9781467312165
StatePublished - 2012
Externally publishedYes
Event2012 20th IEEE International Conference on Program Comprehension, ICPC 2012 - Passau, Germany
Duration: Jun 11 2012Jun 13 2012

Publication series

NameIEEE International Conference on Program Comprehension


Conference2012 20th IEEE International Conference on Program Comprehension, ICPC 2012

ASJC Scopus subject areas

  • Hardware and Architecture
  • Software


Dive into the research topics of 'Characterization of the Linux configuration system'. Together they form a unique fingerprint.

Cite this