Abstract Features in Feature Modeling


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.

DOI: 10.1109/SPLC.2011.53

Extracted Key Phrases

9 Figures and Tables

Citations per Year

97 Citations

Semantic Scholar estimates that this publication has 97 citations based on the available data.

See our FAQ for additional information.

Cite this paper

@article{Thm2011AbstractFI, title={Abstract Features in Feature Modeling}, author={Thomas Th{\"{u}m and Christian K{\"a}stner and Sebastian Erdweg and Norbert Siegmund}, journal={2011 15th International Software Product Line Conference}, year={2011}, pages={191-200} }