Study and Characterization of Software Configuration


Reconfiguring software means adding or disabling functionalities, adapting core functions, or tailoring the software interactions with the external environment. Configuration may mean: changing the source code and rebuilding; changing configuration files and restarting the application; dynamically changing the software state. The latter is called runtime reconfiguration, and is a hot topic in dynamic software product lines and adaptive applications. However, the exact nature of the artifacts and concepts which are actually manipulated by software developers [2] for dealing with configuration is still not fully understood.


The objective of this internship is to study in which manner and to what extent configuration means are implemented in existing software, with a focus on the Java programming language and its component models (Guice, Fractal, OSGI). In particular, we would like to classify source code conditionals (e.g. "if/then" and "switch") as domain logic / configuration / runtime configuration and quantify each kind of configuration. The work to be done during this internship is as follows:

  • Study the state of the art on empirical studies of software (re)configuration
  • Design and implement a tool to statically analyze configuration source code and identify (re)configuration patterns


  1. Exploring the Structure of Complex Software Designs: An Empirical Study of Open Source and Proprietary Code (Alan MacCormack, John Rusnak, Carliss Baldwin), 2005
  2. On the role of software architectures in runtime system reconfiguration (P. Oreizy, R. Taylor), 1998
  3. Software reconfiguration patterns for dynamic evolution of software architectures, (H. Gomaa, M. Hussein), 2004
  4. Revealing and repairing configuration inconsistencies in large-scale system software (Tartler et al.), 2012


  • 2013/12/09: Ceremony for the PRES ULNF International Research Thesis Award 2013 granted to Gabriel Tamura for his PhD Thesis - U. Lille 1, Building P3, Maxwell Amphitheater
  • 2013/12/05: Rémi Druilhe PhD defense
  • 2013/11/27: Maria Gomez Lacruz received the Best Poster Award at the Welcome PhD session organized by PRES UNLF
  • 2013/11/04: Filip Krikava joins ADAM
  • 2013/10/29: The ApiSwarm project is selected in the context of the Windows Azure Research Award Program
  • 2013/10/15: Maria Gomez Lacruz joins ADAM
  • 2013/10/01: Maxime Colmant, Vincenzo Musco, Loïc Huertas and Bo Zhang join ADAM
  • 2013/09/01: Daniel Le Berre and Jifeng Xuan join ADAM
  • 2013/07/05: Russel Nzekwa PhD defense