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

Title:
Diagnosys: Automatic Generation of a Debugging Interface to the Linux Kernel
Contributors:
Laboratoire Bordelais de Recherche en Informatique (LaBRI), Université de Bordeaux (UB)-École Nationale Supérieure d'Électronique, Informatique et Radiocommunications de Bordeaux (ENSEIRB)-Centre National de la Recherche Scientifique (CNRS), Large-Scale Distributed Systems and Applications (Regal), Laboratoire d'Informatique de Paris 6 (LIP6), Université Pierre et Marie Curie - Paris 6 (UPMC)-Centre National de la Recherche Scientifique (CNRS)-Université Pierre et Marie Curie - Paris 6 (UPMC)-Centre National de la Recherche Scientifique (CNRS)-Inria Paris-Rocquencourt, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)
Source:
27th IEEE/ACM International Conference on Automated Software Engineering
https://hal.science/hal-00731064
27th IEEE/ACM International Conference on Automated Software Engineering, Sep 2012, Essen, Germany. pp.60-69, ⟨10.1145/2351676.2351686⟩
Publisher Information:
CCSD
ACM
Publication Year:
2012
Subject Geographic:
Document Type:
Konferenz conference object
Language:
English
DOI:
10.1145/2351676.2351686
Rights:
info:eu-repo/semantics/OpenAccess
Accession Number:
edsbas.6180618E
Database:
BASE

Weitere Informationen

Best Paper award ; International audience ; 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.