Difference between revisions of "WG211/M11Lawall"
(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...") |
|||
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 20: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