Thorough static analysis of device drivers
Top Cited Papers
- 18 April 2006
- proceedings article
- Published by Association for Computing Machinery (ACM)
- Vol. 40 (4) , 73-85
- https://doi.org/10.1145/1217935.1217943
Abstract
Bugs in kernel-level device drivers cause 85% of the system crashes in the Windows XP operating system [44]. One of the sources of these errors is the complexity of the Windows driver API itself: programmers must master a complex set of rules about how to use the driver API in order to create drivers that are good clients of the kernel. We have built a static analysis engine that finds API usage errors in C programs. The Static Driver Verifier tool (SDV) uses this engine to find kernel API usage errors in a driver. SDV includes models of the OS and the environment of the device driver, and over sixty API usage rules. SDV is intended to be used by driver developers "out of the box." Thus, it has stringent requirements: (1) complete automation with no input from the user; (2) a low rate of false errors. We discuss the techniques used in SDV to meet these requirements, and empirical results from running SDV on over one hundred Windows device drivers.Keywords
This publication has 33 references indexed in Scilit:
- Model Checking x86 Executables with CodeSurfer/x86 and WPDS++Published by Springer Nature ,2005
- The ASTREÉ AnalyzerPublished by Springer Nature ,2005
- Using Stålmarck’s Algorithm to Prove InequalitiesPublished by Springer Nature ,2005
- Abstraction Refinement for TerminationPublished by Springer Nature ,2005
- Predicate Abstraction of ANSI-C Programs Using SATFormal Methods in System Design, 2004
- Righting softwareIEEE Software, 2004
- Refining Approximations in Software Predicate AbstractionPublished by Springer Nature ,2004
- Zapato: Automatic Theorem Proving for Predicate Abstraction RefinementPublished by Springer Nature ,2004
- Enforceable security policiesACM Transactions on Information and System Security, 2000
- Counterexample-Guided Abstraction RefinementPublished by Springer Nature ,2000