Title
Improved device driver reliability through hardware verification reuse
Abstract
Faulty device drivers are a major source of operating system failures. We argue that the underlying cause of many driver faults is the separation of two highly-related tasks: device verification and driver development. These two tasks have a lot in common, and result in software that is conceptually and functionally similar, yet kept totally separate. The result is a particularly bad case of duplication of effort: the verification code is correct, but is discarded after the device has been manufactured; the driver code is inferior, but used in actual device operation. We claim that the two tasks, and the software they produce, can and should be unified, and this will result in drastic improvement of device-driver quality and reduction in the development cost and time to market. In this paper we propose a device driver design and verification workflow that achieves such unification. We apply this workflow to develop and test drivers for four different I/O devices and demonstrate that it improves the driver test coverage and allows detecting driver defects that are extremely hard to find using conventional testing techniques.
Year
DOI
Venue
2011
10.1145/1950365.1950383
ASPLOS
Keywords
Field
DocType
faulty device driver,actual device operation,driver test coverage,driver fault,driver development,driver code,o device,device driver design,hardware verification reuse,improved device driver reliability,test driver,driver defect,operating system,reliability,test coverage
Code coverage,Reuse,Computer science,Unification,Real-time computing,Software,Register-transfer level,Time to market,Workflow,Software development,Embedded system
Conference
Volume
Issue
ISSN
39
1
0163-5964
Citations 
PageRank 
References 
4
0.41
17
Authors
6
Name
Order
Citations
PageRank
Leonid Ryzhyk121216.05
John Keys281.86
Balachandra Mirla350.76
Arun Raghunath4172.51
Mona Vij5364.51
Gernot Heiser62525137.42