Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

Vol. 8, No. 6, SeptemberOctober 2009 Virtual Separation of Concerns

Summary: Vol. 8, No. 6, September­October 2009
Virtual Separation of Concerns ­
A Second Chance for Preprocessors
Christian K¨astner, School of Computer Science, University of Magdeburg,
Sven Apel, Department of Informatics and Mathematics, University of Passau,
Conditional compilation with preprocessors like cpp is a simple but effective means to
implement variability. By annotating code fragments with #ifdef and #endif direc-
tives, different program variants with or without these fragments can be created, which
can be used (among others) to implement software product lines. Although, prepro-
cessors are frequently used in practice, they are often criticized for their negative effect
on code quality and maintainability. In contrast to modularized implementations, for
example using components or aspects, preprocessors neglect separation of concerns,
are prone to introduce subtle errors, can entirely obfuscate the source code, and limit
reuse. Our aim is to rehabilitate the preprocessor by showing how simple tool support
can address these problems and emulate some benefits of modularized implementa-
tions. At the same time we emphasize unique benefits of preprocessors, like simplicity
and language independence. Although we do not have a definitive answer on how to
implement variability, we want highlight opportunities to improve preprocessors and


Source: Apel, Sven - Fakultät für Informatik und Mathematik, Universität Passau


Collections: Computer Technologies and Information Sciences