TY - GEN
T1 - Characterization of the Linux configuration system
AU - Jbara, Ahmad
PY - 2012
Y1 - 2012
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=84865035650&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84865035650&partnerID=8YFLogxK
U2 - 10.1109/icpc.2012.6240503
DO - 10.1109/icpc.2012.6240503
M3 - Conference contribution
AN - SCOPUS:84865035650
SN - 9781467312165
T3 - IEEE International Conference on Program Comprehension
SP - 273
EP - 276
BT - 2012 20th IEEE International Conference on Program Comprehension, ICPC 2012 - Proceedings
PB - IEEE Computer Society
T2 - 2012 20th IEEE International Conference on Program Comprehension, ICPC 2012
Y2 - 11 June 2012 through 13 June 2012
ER -