TY - JOUR
T1 - A Study of Variability Models and Languages in the Systems Software Domain
AU - Berger, Thorsten
AU - She, Steven
AU - Lotufo, Rafael
AU - Wasowski, Andrzej
AU - Czarnecki, Krzysztof
PY - 2013/12
Y1 - 2013/12
N2 - Variability models represent the common and variable features of products in a product line. Since the introduction of FODA in 1990, several variability modeling languages have been proposed in academia and industry, followed by hundreds of research papers on variability models and modeling. However, little is known about the practical use of such languages. We study the constructs, semantics, usage, and associated tools of two variability modeling languages, Kconfig and CDL, which are independently developed outside academia and used in large and significant software projects. We analyze 128 variability models found in 12 open--source projects using these languages. Our study 1) supports variability modeling research with empirical data on the real-world use of its flagship concepts. However, we 2) also provide requirements for concepts and mechanisms that are not commonly considered in academic techniques, and 3) challenge assumptions about size and complexity of variability models made in academic papers. These results are of interest to researchers working on variability modeling and analysis techniques and to designers of tools, such as feature dependency checkers and interactive product configurators.
AB - Variability models represent the common and variable features of products in a product line. Since the introduction of FODA in 1990, several variability modeling languages have been proposed in academia and industry, followed by hundreds of research papers on variability models and modeling. However, little is known about the practical use of such languages. We study the constructs, semantics, usage, and associated tools of two variability modeling languages, Kconfig and CDL, which are independently developed outside academia and used in large and significant software projects. We analyze 128 variability models found in 12 open--source projects using these languages. Our study 1) supports variability modeling research with empirical data on the real-world use of its flagship concepts. However, we 2) also provide requirements for concepts and mechanisms that are not commonly considered in academic techniques, and 3) challenge assumptions about size and complexity of variability models made in academic papers. These results are of interest to researchers working on variability modeling and analysis techniques and to designers of tools, such as feature dependency checkers and interactive product configurators.
KW - Empirical software engineering
KW - software product lines
KW - variability modeling
KW - feature modeling
KW - configuration
KW - open source
KW - Empirical software engineering
KW - software product lines
KW - variability modeling
KW - feature modeling
KW - configuration
KW - open source
U2 - 10.1109/TSE.2013.34
DO - 10.1109/TSE.2013.34
M3 - Journal article
SN - 0098-5589
VL - 39
SP - 1611
EP - 1640
JO - I E E E Transactions on Software Engineering
JF - I E E E Transactions on Software Engineering
IS - 12
ER -