2006
DOI: 10.1145/1218063.1217943
|View full text |Cite
|
Sign up to set email alerts
|

Thorough static analysis of device drivers

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 dr… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
53
0

Year Published

2007
2007
2018
2018

Publication Types

Select...
4
3
2

Relationship

0
9

Authors

Journals

citations
Cited by 99 publications
(54 citation statements)
references
References 38 publications
0
53
0
Order By: Relevance
“…Just as in the context of traditional desktop applications, this shift towards rich frameworks and APIs exposes ample opportunities for both runtime enforcement and bug finding [2,12,23]. Combined with runtime enforcement in the context of the browser [6,16,17,34], the use of frameworks can automatically result in significantly more secure applications without additional code annotation burden placed on the developer.…”
Section: Discussionmentioning
confidence: 99%
“…Just as in the context of traditional desktop applications, this shift towards rich frameworks and APIs exposes ample opportunities for both runtime enforcement and bug finding [2,12,23]. Combined with runtime enforcement in the context of the browser [6,16,17,34], the use of frameworks can automatically result in significantly more secure applications without additional code annotation burden placed on the developer.…”
Section: Discussionmentioning
confidence: 99%
“…However, utilization of programming languages cannot improve reliability of legacy device drivers. SLAM [13] uses the model checking method to find API usage errors in drivers. V.Chipounov et al [21] utilize the technique of the reverse engine to monitor the interaction between devices and drivers and detect the errors.…”
Section: Related Workmentioning
confidence: 99%
“…Yet, these methods require the device drivers to be rewritten, which introduces heavy workload. Automatic verification tools are used to detect driver faults, such as SLAM [13], SATABS [14] and Blast [15], but the sizes and complexity of the device drivers that they can handle are limited.…”
Section: Introductionmentioning
confidence: 99%
“…Default drivers that loaded when signal acquisition device had been plugged in were Windows Driver Model (WDM) [67] on Windows NT/2000/XP, ALSA [68] on Linux, Core Audio [69] on Mac and WASAPI [70,71], on Windows Vista and Windows 7 operating systems, respectively. No driver installation was needed for full operation of the breathing frequency detection system.…”
Section: Hardware and Materials Preparationmentioning
confidence: 99%