Family-based deductive verification of software product lines
Proceedings of the 11th International Conference on Generative Programming and Component Engineering
Subclack: feature-oriented programming with behavioral feature interfaces
Proceedings of the 5th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance
Product-line verification with feature-oriented contracts
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Family-based performance measurement
Proceedings of the 12th international conference on Generative programming: concepts & experiences
A comparison of product-based, feature-based, and family-based type checking
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Implementing refactorings for FOP: lessons learned and challenges ahead
Proceedings of the 5th International Workshop on Feature-Oriented Software Development
A taxonomy of software product line reengineering
Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems
Hi-index | 0.00 |
Superimposition is a composition technique that has been applied successfully in many areas of software development. Although superimposition is a general-purpose concept, it has been (re)invented and implemented individually for various kinds of software artifacts. We unify languages and tools that rely on superimposition by using the language-independent model of feature structure trees (FSTs). On the basis of the FST model, we propose a general approach to the composition of software artifacts written in different languages. Furthermore, we offer a supporting framework and tool chain, called FeatureHouse. We use attribute grammars to automate the integration of additional languages. In particular, we have integrated Java, C#, C, Haskell, Alloy, and JavaCC. A substantial number of case studies demonstrate the practicality and scalability of our approach and reveal insights into the properties that a language must have in order to be ready for superimposition. We discuss perspectives of our approach and demonstrate how we extended FeatureHouse with support for XML languages (in particular, XHTML, XMI/UML, and Ant) and alternative composition approaches (in particular, aspect weaving). Rounding off our previous work, we provide here a holistic view of the FeatureHouse approach based on rich experience with numerous languages and case studies and reflections on several years of research