Title :
Characterization of the Linux configuration system
Author_Institution :
Sch. of Comput. Sci. & Eng., Hebrew Univ. of Jerusalem, Jerusalem, Israel
Abstract :
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.
Keywords :
Linux; program compilers; source coding; C preprocessor; CPP; Linux configuration system; configuration control system; deep analysis; frequent options; massive coupling; software systems; source code; syntactic analysis; Control systems; Couplings; Kernel; Linux; Measurement; Semantics; Syntactics;
Conference_Titel :
Program Comprehension (ICPC), 2012 IEEE 20th International Conference on
Conference_Location :
Passau
Print_ISBN :
978-1-4673-1213-4
Electronic_ISBN :
1092-8138
DOI :
10.1109/ICPC.2012.6240503