Gilles Muller

Inria Senior Research Scientist, lead of Whisper team.
Gilles.Muller@inria.fr

tel: + 33 2 99 84 72 22

Centre de recherche Inria Rennes - Bretagne Atlantique
Campus universitaire de Beaulieu
35042 Rennes Cedex

Office: Inria-Rennes, E323

Open PhD position on scheduler verification and optimization

Me, telling the good word

Former vice-chair of ACM/SIGOPS, July 2003 -June 2007.


Docteur de l'Université de Rennes 1, 1988
Habilité ŕ diriger des recherches, Université de Rennes 1, 1997


Current research activities: Design of Operating Systems, using domain-specific languages

The development of operating systems is traditionally considered to be an activity on the fringe of software development. In fact, the lack of systematic methodologies for OS design often translates into closed systems that are difficult to extend and modify. Too often generality is sacrificed for performance. The widespread use of unsafe programming languages, combined with extensive manual optimizations, compromises the safety of OS software.

The goal of my research is to develop new methodologies based on the use of domain-specific languages for the structuring of an OS and an OS kernel. A domain-specific language (DSL) is a programming language dedicated to a particular application domain. A DSL is more restricted than a general-purpose language, such as Java or C, but encapsulates domain expertise that can allow verification of important safety properties. In the context of systems programming, DSLs have been developed for active networks (PLAN-P, and CPLAN-P), device drivers (Devil), and kernel schedulers (Bossa).

My latest work is a DSL-based approach to address the problem of collateral evolutions in drivers, that are are evolutions in device-specific code induced by a change in a support library. Specifically, we are developing a development environment, Coccinelle, that provides a transformation language for precisely expressing evolutions and an interactive transformation tool for applying them. The key idea of Coccinelle is to shift the burden of collateral evolution from the driver maintainer to the OS developer who performs the original library evolution, and who thus understands this evolution best. Overall, Coccinelle will provide a means for formally documenting collateral evolutions and for easing the application of these evolutions to device-specific code.


Selected Publications


Curriculum Vitae (pdf)
Page on Google scholar

Recent Professional Activities (2010-...)



Last modified: April 2014