WG211/M11Lawall: Difference between revisions
Created page with "'''Automatic Generation of a Debugging Interface to the Linux Kernel''' by Julia Lawall The Linux kernel does not export a stable, well-defined kernel interface, complicatin..." |
No edit summary |
||
| Line 1: | Line 1: | ||
'''Automatic Generation of a Debugging Interface to the Linux Kernel''' by Julia Lawall | '''Automatic Generation of a Debugging Interface to the Linux Kernel''' by Julia Lawall | ||
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, these frequently change, and have | |||
implicit, ill-documented preconditions. However, 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, service | |||
developers 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. | |||
Joint work with Tegawend\'e F. Bissyand\'e, Laurent R\'eveill\`ere and | Joint work with Tegawend\'e F. Bissyand\'e, Laurent R\'eveill\`ere and | ||
Gilles Muller | Gilles Muller | ||
Latest revision as of 21:22, 6 June 2012
Automatic Generation of a Debugging Interface to the Linux Kernel by Julia Lawall
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, these frequently change, and have implicit, ill-documented preconditions. However, 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, service developers 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.
Joint work with Tegawend\'e F. Bissyand\'e, Laurent R\'eveill\`ere and Gilles Muller