Basser Seminar Series

Diagnosys: Automatic Generation of a Debugging Interface to the Linux Kernel

Speaker: Dr Gilles Muller
INRIA Paris-Rocquencourt

Presented in conjunction with NICTA NSW Research Laboratory Software Systems Research Group Seminars

PLEASE NOTE: new time and location:

When: Monday, 10 February 2014, 2-3pm

Where: Level 4 Seminar Room, NICTA ATP Laboratory


The Linux kernel does not export a stable, well-defined kernel interface, complicating the development of kernel-level services, such as device drivers and file systems. While there does exist a set of functions that are exported to external modules, this set of functions frequently changes, and the functions have implicit, ill-documented preconditions. No specific debugging support is provided.

We present Diagnosys, an approach to automatically constructing a debugging interface for the Linux kernel. First, a designated kernel maintainer uses Diagnosys to identify constraints on the use of the exported functions. Based on this information, developers of kernel services can then use Diagnosys to generate a debugging interface specialized to their code. When a service including this interface is tested, it records information about potential problems. This information is preserved following a kernel crash or hang. Our experiments show that the generated debugging interface provides useful log information and incurs a low performance penalty.

Speaker's biography

Gilles Muller received the Ph.D. degree in 1988 from the University of Rennes I, and the Habilitation a Diriger des Recherches degree in 1997 from the University of Rennes I. After having been a researcher at INRIA and a Professor at the Ecole des Mines de Nantes, he is currently a senior research scientist at INRIA Paris-Rocquencourt. His research interests include the development of methodologies based on domain-specific languages for the structuring of infrastructure softwares. He is one of the designers of the Coccinelle tool.

Gilles Muller was the PC Chair of EuroSys 2010 and PLOS 2010. He was involved in more than 50 program committees of international workshops and conferences such as EuroSys, ASPLOS, DSN, SRDS, PLOS and the EuroSys prize for the best PhD thesis. Gilles Muller has been a member of the IEEE since 1995 and was the vice chair of the ACM/SIGOPS from July 2003 to July 2007.