The Home of FeatureC++

Feature-Oriented Programming &
Aspect-Oriented Programming in C++

About the Project

FeatureC++ is a C++ language extension to support Feature-Oriented Programming (FOP). FOP is the study of feature modularity in program families. FeatureC++ enables a programmer to express features in a modular way. It supports easy derivation and composition of program family members based on declarative specifications in form of algebraic equations. FeatureC++ also adopts language concepts of Aspect-Oriented Programming (AOP) to further increase modularity of cross-cutting concerns. Currently, it supports Aspectual Mixin Layers (AML). AML combine the advantages of Mixins and Aspects to increase the crosscutting modularity.
FeatureC++ comes in form of a C++ preprocesser that transforms FeatureC++ code into native C++ code. Binaries and source code are available at Source Forge. FeatureC++ was developed at the Institute for Technical and Business Information Systems at the Otto-von-Guericke University at Magdeburg, Germany.

Latest News

  • 14.01.2011
Paper on combining static and dynamic feature binding in ASE Journal
  • 10.10.2010
Paper on generating component hierarchies at the FOSD Workshop
  • 21.08.2010
FeatureC++ Version 0.8 is available Download from
  • 15.08.2010
FeatureC++ is on Source Forge
  • 01.09.2009
Paper on Berkeley DB Refactoring in Journal of Data & Knowledge Engineering
  • 19.-23.10.2008
Paper on static and dynamic feature composition to be presented at the 7th International Conference on Generative Programming and Component Engineering (GPCE'08), Nashville, TN, USA.
  • 22.04.2008
FeatureC++ Version 0.4 is available Downloads
  • 20.-28.05.2006
Paper on Aspectual Mixin Layers to be presented at the IEEE / ACM SIGSOFT 28th International Conference on Software Engineering (ICSE'06), Shanghai, China.
  • 17.12.2005
Paper on Aspect Refinement and Bounded Quantification presented at the APSEC'05 Asian Workshop on AOSD, Taipei, Taiwan.
  • 20.10.2005
Paper on Optional Features to be presented at the OOPSLA Workshop on Managing Variabilities consistently in Design and Code, San Diego, USA.
  • 16.-17.10.2005
Paper on FeatureIDE-Eclipse-Plugin to be presented at the eclipse Technology eXchange (eTX) Workshop at OOPSLA'05, San Diego, USA.
  • 28.09.2005
Paper on FeatureC++ and software evolution presented at the 4th International Conference on Generative Programmingand Component Engineering (GPCE'05), Tallinn, Estonia.
  • 26.09.2005
Paper on FeatureC++ and Aspect Refinement presented at the Early Aspects Workshop (SPLC-Europe'05), Rennes, France.
  • 21.09.2005
FeatureC++ Version 0.3 is available Downloads
  • 28.07.2005
FeatureC++ Version 0.2 is available Downloads
  • 25.07.2005
Paper on FeatureC++ and software evolution presented at the 2nd International ECOOP Workshop on Reflection, AOP and Meta-Data for Software Evolution (RAM-SE'05), Glasgow, Scotland.
  • 12.04.2005
FeatureC++ Version 0.1 is available Downloads