Find out how ICT can support biomedical and clinical researchFind out more. Managing complexity by developing new tools and processes. Managing Complexity

Abstract

Title:

Automatic device driver synthesis with Termite

Authors:

Leonid Ryzhyk, Peter Chubb, Ihor Kuz, Etienne Le Sueur and Gernot Heiser

    School of Computer Science and Engineering
    University of New South Wales
    Sydney 2052 Australia
    
    National ICT Australia, Sydney, Australia

    Open Kernel Labs, Sydney, Australia

Abstract:

Faulty device drivers cause significant damage through down time and data loss. The problem can be mitigated by an improved driver development process that guarantees correctness by construction. We achieve this by synthesising drivers automatically from formal specifications of device interfaces, thus reducing the impact of human error on driver reliability and potentially cutting down on development costs.

We present a concrete driver synthesis approach and tool called Termite. We discuss the methodology, the technical and practical limitations of driver synthesis, and provide an evaluation of non-trivial drivers for Linux, generated using our tool. We show that the performance of the generated drivers is on par with the equivalent manually developed drivers. Furthermore, we demonstrate that device specifications can be reused across different operating systems by generating a driver for FreeBSD from the same specification as used for.

BibTeX Entry

  @inproceedings{Ryzhyk_CKSH_09,
    author           = {Leonid Ryzhyk and Peter Chubb and Ihor Kuz and Etienne Le Sueur and Gernot Heiser},
    booktitle        = {Proceedings of the 22nd ACM Symposium on Operating Systems Principles},
    title            = {Automatic Device Driver Synthesis with {Termite}},
    year             = {2009},
    month            = {Oct},
    address          = {Big Sky, MT, USA}
  }

Download paper: