Algebra-Based Feature-Oriented Program Synthesis


A feature is a semantically cohesive unit of behavior of a software system. Features are used for the specification of commonalities and variabilities of software systems. For example, in the domain of data management there are features such as transaction management, storage management, and multi-user support.

It would be easier to develop software if its features would be explicit in design and code and if software could be generated solely by composing features. This methodology is called Feature-Oriented Software Development (FOSD). Currently, there is a multitude of different methods, languages, and tools for FOSD that -- despite their common aim -- are difficult to compare and integrate.

The project FeatureFoundation aims at unifying previous works on FOSD by means of a novel approach called Algebra-Based Feature-Oriented Program Synthesis. The vision of Algebra-Based Feature-Oriented Program Synthesis is that the synthesis of programs is largely automated and based on a concise formal foundation.

One corner stone of the project is to explore the fundamental laws of features and feature composition and to identify and compare alternatives in their definitions. This is accomplished by the application and extension of a basic feature algebra, in which alternative laws for features and feature composition can be defined, analyzed, and compared. Many existing approaches are manifested in individual alternatives of the algebra.

Another corner stone is the practical application of the feature algebra as well as the exploration of its implications on software development. Prototypical tools for automatic program synthesis like the FeatureHouse are being developed and will be developed on the basis of the algebra. Alternatives in the algebra are generated as alternative synthesis processes. The practicality and scalability of our approach and the impact of our design decisions are evaluated by means of a series of case studies.


The project FeatureFoundation is a cooperation of the University of Passau and the University of Augsburg. The project is funded by the German Research Foundation (Deutsche Forschungsgemeinschaft--DFG), project numbers AP 206/2-1 and MO 690/7-1 as well as AP 206/2-2 and MO 690/7-2; funding period: 2009 – 2013.

Publications (see the copyright notice)









Copyright Notice: This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these publications may not be reposted without the explicit permission of the copyright holder.


The project FeatureFoundation is a cooperation of the University of Passau and the University of Augsburg. The project members are: