RT Journal Article
JF Software Product Line Conference, International
YR 2011
VO 00
SP 191
TI Abstract Features in Feature Modeling
A1 Thomas Thüm,
A1 Christian Kästner,
A1 Norbert Siegmund,
A1 Sebastian Erdweg,
K1 software product lines
K1 program families
K1 feature modeling
K1 feature model
K1 automated analyses
AB A software product line is a set of program variants, typically generated from a common code base. Feature models describe variability in product lines by documenting features and their valid combinations. In product-line engineering, we need to reason about variability and program variants for many different tasks. For example, given a feature model, we might want to determine the number of all valid feature combinations or compute specific feature combinations for testing. However, we found that contemporary reasoning approaches can only reason about feature combinations, not about program variants, because they do not take abstract features into account. Abstract features are features used to structure a feature model that, however, do not have any impact at implementation level. Using existing feature-model reasoning mechanisms for program variants leads to incorrect results. Hence, although abstract features represent domain decisions that do not affect the generation of a program variant. We raise awareness of the problem of abstract features for different kinds of analyses on feature models. We argue that, in order to reason about program variants, abstract features should be made explicit in feature models. We present a technique based on propositional formulas that enables to reason about program variants rather than feature combinations. In practice, our technique can save effort that is caused by considering the same program variant multiple times, for example, in product-line testing.
PB IEEE Computer Society, [URL:http://www.computer.org]
LA English
DO 10.1109/SPLC.2011.53
LK http://doi.ieeecomputersociety.org/10.1109/SPLC.2011.53