Feature-Oriented Software Development



Carnegie Mellon University, School of Computer Science

University of Passau

Otto-von-Guericke University Magdeburg

Philipps University Marburg

Metop Research Institute

This site is maintained by Christian Kästner


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. For a recent survey see the paper An Overview of Feature-Oriented Software Development.


This web site acts as a portal for different projects in FOSD research.

Links on this site: