Using domain features to handle feature interactions
Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems
Separation of concerns in feature modeling: support and applications
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
Automated analysis of dependent feature models
Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems
FeatureIDE: An extensible framework for feature-oriented software development
Science of Computer Programming
Staged configuration of dynamic software product lines with complex binding time constraints
Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems
Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems
Hi-index | 0.01 |
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.