Title
Automatic device driver synthesis with termite
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 Linux.
Year
DOI
Venue
2009
10.1145/1629575.1629583
SOSP
Keywords
DocType
Citations 
faulty device driver,synthesising driver,driver synthesis,non-trivial driver,concrete driver synthesis approach,improved driver development process,device specification,development cost,automatic device driver synthesis,driver reliability,device interface,human error,domain specific language,domain specific languages,development process
Conference
43
PageRank 
References 
Authors
1.57
16
5
Name
Order
Citations
PageRank
Leonid Ryzhyk121216.05
Peter Chubb21073.81
Ihor Kuz330430.28
Etienne Le Sueur41949.63
Gernot Heiser52525137.42