Date Added: Jun 2011
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, the authors need to reason about variability and program variants for many different tasks. For example, given a feature model, they might want to determine the number of all valid feature combinations or compute specific feature combinations for testing. However, they 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.