Runtime emergence of software diversity

We are looking for highly motivated PhD/Post-doc candidates in software engineering. The position takes place in a EU-sponsored collaborative project in the field of empirical software engineering and large-scale distributed systems simulation. The project involves inter-disciplinary work with ecology researchers.

Contact: Benoit Baudry (, Olivier Barais(
: Software diversity, search-based software engineering, self-adaptive software.


Software systems rely on the interactions between parts: client / server, application / framework / database, apps / mobile platform. The nature of these interactions is very close to mutualistic of trophic interactions between species in ecological systems. However, the species and their interactions are highly diverse in ecological systems (forming an essential component of biodiversity), while software systems are rather homogeneous. Biodiversity is a major component for the ability of ecosystems to adapt in front of unpredicted changes. Thus, in this project, we want to investigate the diversification of software systems to improve their ability to face unpredicted perturbations (attacks, bugs, market evolutions, etc.).
The work will aim at proposing generative mechanisms to dynamically increase software diversity. The major challenges will lie (i) in generating variants that can be integrated in the running system while providing new options for adaptation, and (ii) handling the lifecycle of these variants (when they emerge, when they disseminate or when they disappear). You will collaborate closely with the ecologists in order to develop sound models of diversity dynamics, and with the software engineering researchers to ensure the integration of results in proof-of-concept simulator.
The generation of diverse of software component will reuse recent techniques of software analysis, meta-heuristic search and software product lines, while the runtime integration of diversity in the system will be based on reflective models@runtime platforms.

Our ideal candidate is someone with a background in software engineering, and a keen interest in model-based software analysis, distributed systems or search-based software engineering.


[1] A.J. O’Donnell, H. Sethu. On achieving software diversity for improved network security using distributed coloring algorithms. Proc. of CCS’04.
[2] D. Posnett, V. Filkov, P. Devanbu. Ecological Inference in Empirical Software Engineering, Proc. of ASE 2011.
[3] E. Schulte, Z. P. Fry, E. Fast, W. Weimer, S. Forrest. Software Mutational Robustness and Proactive Diversity, 2012.
[4] S. Sidiroglou-Douskos, S. Misailovic, H. Hoffmann, M. C. Rinard: Managing performance vs. accuracy trade-offs with loop perforation. Proc. of FSE 2011: 124-134.
[5] F. Fouquet, O. Barais, N. Plouzeau, J.-M. Jézéquel, B. Morin, F. Fleurey. A Dynamic Component Model for Cyber Physical Systems. Proc. of CBSE’2012.

Working Environment

This position is funded by the DIVERSIFY project, supported by the FET European Commission program. The candidates will work at INRIA in the Triskell team. Triskell’s research is in the area of software engineering, focusing on model-driven engineering and software testing. The team is actively involved in European, French and industrial projects and is composed of 7 faculty members, 20 PhD students and 4 engineers.

The position is open and applications will be reviewed until the positions are filled. The monthly net salary is 1600 euros. The PhD position is for 3 years.



Apply here