[ecoop-info] Two PhD positions at INRIA in software engineering

Benoit Baudry Benoit.Baudry at inria.fr
Fri Apr 19 06:58:46 CEST 2013

TITLE: Runtime emergence of software diversity in rich Internet environments

We are looking for highly motivated PhD candidates in software engineering. The positions are supported by an EU-sponsored collaborative project in the field of software engineering and software diversity for adaptive applications. The project involves inter-disciplinary work with ecology researchers. Our ideal candidate has a background in software engineering, and a keen interest in search-based software engineering, distributed software architecture or adaptive systems.
CONTACTS: Benoit Baudry (benoit.baudry at inria.fr), Olivier Barais(olivier.barais at inria.fr)
KEYWORDS: Software diversity, search-based software engineering, self-adaptive software, web applications.


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.).

Topic 1: 
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 at runtime platforms.

Topic 2: 
This PhD will target Rich Internet Applications. Indeed, Rich Internet Applications rely on large portion of code on the client-side, typically written in JavaScript, dealing with DOM manipulation, event handling and asynchronous calls to the server. The server stack runs on top of complex cloud infrastructure.  The research will confront these challenges with complex ecological phenomena. The goal is to leverage models of biodiversity to increase the resilience of web applications to unpredicted changes. 
Two technologies developed in the Team (Kevoree and Js-Scala) will support this work, providing a sandbox to inject and manage diversity at the software architecture level.  Js-Scala is a DSL, which can be compiled to both the server and client sides.  This provides users with the capacity of deciding at deployment time which parts to run on the server or the client side. Kevoree is an open-source models at runtime platform, which properly supports the dynamic adaptation of distributed systems.  In particular, Kevoree provides a proper support for distributed models at runtime and supports heterogeneous runtime environment technologies. 


[1] E. Schulte, Z. P. Fry, E. Fast, W. Weimer, S. Forrest. Software Mutational Robustness and Proactive Diversity, 2012.
[2] S. Ling Lim, Peter Bentley. How to be a successful app developer: lessons from the simulation of an app ecosystem. Proc. of GECCO 2012
[3] 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.
[4] Lingxiao Jiang, Zhendong Su. Automatic Mining of Functionally Equivalent Code Fragments via Random Testing. Proc. of ISSTA 2009.
[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.
[6] B. Morin, O. Barais, G. Nain, J-M. Jézéquel: Taming Dynamically Adaptive Systems using models and aspects. ICSE 2009: 122-132
[7] Js-Scala https://github.com/js-scala/js-scala
[8] Kevoree  http://www.kevoree.org/
[9] DIVERSIFY project http://diversify-project.eu/


These positions are 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 positions are open and applications will be reviewed until the positions are filled. The monthly net salary is 1600 euros.

More information about the ecoop-info mailing list