Difference between revisions of "WG211/M11Lawall"

From WG 2.11
Jump to: navigation, search
(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,
+
The Linux kernel does not export a stable, well-defined kernel interface,
  complicating the development of kernel-level services, such as device
+
complicating the development of kernel-level services, such as device
  drivers and file systems.  While there does exist a set of functions that
+
drivers and file systems.  While there does exist a set of functions that
  are exported to external modules, these frequently change, and have
+
are exported to external modules, these frequently change, and have
  implicit, ill-documented preconditions.  However, no specific debugging
+
implicit, ill-documented preconditions.  However, no specific debugging
  support is provided.
+
support is provided.
  
  We present Diagnosys, an approach to automatically
+
We present Diagnosys, an approach to automatically
  constructing a debugging interface for the Linux kernel.  First, a
+
constructing a debugging interface for the Linux kernel.  First, a
  designated kernel maintainer uses Diagnosys to identify constraints on
+
designated kernel maintainer uses Diagnosys to identify constraints on
  the use of the exported functions.  Based on this information, service
+
the use of the exported functions.  Based on this information, service
  developers can then use Diagnosys to generate a debugging interface
+
developers can then use Diagnosys to generate a debugging interface
  specialized to their code.  When a service including this interface is
+
specialized to their code.  When a service including this interface is
  tested, it records information about potential problems. This information
+
tested, it records information about potential problems. This information
  is preserved following a kernel crash or hang.
+
is preserved following a kernel crash or hang.
  Our experiments show that the generated debugging interface provides
+
Our experiments show that the generated debugging interface provides
  useful log information and incurs a low performance penalty.
+
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