Friedrich-Alexander-Universität Erlangen-Nürnberg  /   Technische Fakultät  /   Department Informatik

VAMOS: Variability Management in Operating Systems

The VAMOS project has ended, for the follow-up project CADOS (now at Uni Hanover) please click here!

Todays operating systems (as well as other system software) offer a great deal of static configurability to tailer them with respect to a specific application or hardware platform. Linux 3.2, for instance, provides (via its Kconfig modells and tools) more than twelve thousand configurable features for this purpose. Technically, the implementation of all these features is spread over multiple levels of the software generation process, including the configuration system, build system, C preprocessor, compiler, linker, and more. This enormous variablity has become unmanageable in practice; in the case of Linux it already has led to thousands of variability defects. With this term, we denote bugs and other quality issues related to the implementation of variable features. Variability defects manifest as configuration consistency and and configuration coverage issues.

In the VAMOS project, we investigate methods and tools to mitigate the situation by a holistic view on variability. Our findings have already led to more than 100 accepted patches in the Linux mainline kernel (see our EuroSys '11 and SPLC '12 papers) and an approach for the automatic tailoring of Linux server systems in order to reduce the exploitable code base (see our HotDep '12 paper). Currently we are working on the issue of configuration coverage (see our PLOS '12 paper).

Selected Publications

Please look here for the complete list of VAMOS publications.

EuroSys '11

Tartler, Reinhard ; Lohmann, Daniel ; Sincero, Julio ; Schröder-Preikschat, Wolfgang: Feature Consistency in Compile-Time Configurable System Software. In: Heiser, Gernoth ; Kirsch, Christoph (Ed.) : Proceedings of the EuroSys 2011 Conference (EuroSys '11) (EuroSys 2011 Salzburg 10-13 April 2011). New York, NY, USA : ACM, 2011, pp 47-60. - ISBN 978-1-4503-0634-8
[doi>10.1145/1966445.1966451] (BibTeX)

HotDep '12

Tartler, Reinhard ; Kurmus, Anil ; Ziegler, Andreas ; Heinloth, Bernhard ; Rothberg, Valentin ; Dorneanu, Daniela ; Kapitza, Rüdiger ; Schröder-Preikschat, Wolfgang ; Lohmann, Daniel: Automatic OS Kernel TCB Reduction by Leveraging Compile-Time Configurability. In: USENIX (Ed.) : Proceedings of the 8th Workshop on Hot Topics in System Dependability (HotDep '12) (Eigth Workshop on Hot Topics in System Dependability Hollywood, CA, USA 7.10.2012). 2012, pp -. (BibTeX)

SPLC '12

Dietrich, Christian ; Tartler, Reinhard ; Schröder-Preikschat, Wolfgang ; Lohmann, Daniel: A Robust Approach for Variability Extraction from the Linux Build System. In: ACM Press (Ed.) : Proceedings of the 16th International Software Product Line Conference (16th International Software Product Line Conference Salvador - Brazil September 02 - 07, 2012). Vol. 1. New York : ACM Press, 2012, pp 21-30. - ISBN 978-1-4503-1094-9
[doi>10.1145/2362536.2362544] (BibTeX)

PLOS '12
(ACM OSR 45.3)

Tartler, Reinhard ; Lohmann, Daniel ; Dietrich, Christian ; Egger, Christoph ; Sincero, Julio: Configuration coverage in the analysis of large-scale system software. In: SIGOPS Oper. Syst. Rev. (ACM OSR) 45 (2012), No. 3, pp 10-14
[doi>10.1145/2094091.2094095] (BibTeX)

GPCE '10

Sincero, Julio ; Tartler, Reinhard ; Lohmann, Daniel ; Schröder-Preikschat, Wolfgang: Efficient Extraction and Analysis of Preprocessor-Based Variability. In: Visser, E. (Ed.) : Proceedings of the 9th International Conference on Generative Programming and Component Engineering (GPCE '10) (Generative Programming and Component Engineering (GPCE '10) Eindhoven, The Netherlands October 2010). New York, NY, USA : ACM Press, 2010, pp 33-42. - ISBN 978-1-4503-0154-1
[doi>10.1145/1868294.1868300] (BibTeX)

People Involved in VAMOS

Project Lead and Applicant

VAMOS had partly been supported by the DFG (SCHR 603/7, 2008–2011).


Research Students

Valentin Rothberg
Stefan Hengelein
Bernhard Heinloth
Andreas Ruprecht


Various tools assist our analysis of the variability in the Linux kernel and other software projects. Our most important tool is coined the undertaker, which searches and eliminates dead and undead conditional CPP blocks. Since its inception, it has matured to a toolbox of utilities for answering various research questions related to variability in general. For further details, please look into the undertaker trac.


Please look here for the complete list of VAMOS-related theses, including ongoing and finished works.

Open Topics