kirancodes.me
To Proof Maintenance & Beyond!

FEATUREHOUSE: Language-independent, automated software composition

Sven Apel, Christian Kästner, Christian Lengauer

Abstract

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, JavaCC, and XML. Several case studies demonstrate the practicality and scalability of our approach and reveal insights into the properties a language must have in order to be ready for superimposition.

BibTeX
@inproceedings{Apel-al:ICSE09,
  author    = {Sven Apel and
               Christian K{\"{a}}stner and
               Christian Lengauer},
  title     = {{FEATUREHOUSE:} Language-independent, automated software composition},
  booktitle = {ICSE},
  pages     = {221--231},
  publisher = {{IEEE}},
  year      = {2009},
}

Related papers