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

Abstract : 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 \textit{Diagnosys}, an approach to automatically constructing a debugging interface for the Linux kernel. First, a designated kernel maintainer ses 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.
Document type :
Conference papers
Complete list of metadatas

Cited literature [30 references]  Display  Hide  Download

Contributor : Tegawendé F. Bissyandé <>
Submitted on : Wednesday, September 12, 2012 - 10:07:48 AM
Last modification on : Friday, July 12, 2019 - 11:16:03 AM
Long-term archiving on : Thursday, December 13, 2012 - 3:44:21 AM


Files produced by the author(s)



Tegawendé F. Bissyandé, Laurent Réveillère, Julia L. Lawall, Gilles Muller. Diagnosys: Automatic Generation of a Debugging Interface to the Linux Kernel. 27th IEEE/ACM International Conference on Automated Software Engineering, Sep 2012, Essen, Germany. pp.60-69, ⟨10.1145/2351676.2351686⟩. ⟨hal-00731064⟩



Record views


Files downloads