2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE) 2015
DOI: 10.1109/ase.2015.30
|View full text |Cite
|
Sign up to set email alerts
|

Fast and Precise Symbolic Analysis of Concurrency Bugs in Device Drivers (T)

Abstract: Abstract-Concurrency errors, such as data races, make device drivers notoriously hard to develop and debug without automated tool support. We present WHOOP, a new automated approach that statically analyzes drivers for data races. WHOOP is empowered by symbolic pairwise lockset analysis, a novel analysis that can soundly detect all potential races in a driver. Our analysis avoids reasoning about thread interleavings and thus scales well. Exploiting the race-freedom guarantees provided by WHOOP, we achieve a so… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
11
0
1

Year Published

2016
2016
2020
2020

Publication Types

Select...
7
2

Relationship

0
9

Authors

Journals

citations
Cited by 30 publications
(12 citation statements)
references
References 45 publications
0
11
0
1
Order By: Relevance
“…Second, handling an interrupt may change not only data in memory but also some peripheral states, leading to inconsistency issues between the actual peripheral and what the application assumes it is. These two problems are not new [27], [28], [29], but we need to address them in the specific context of NVRAM-based transiently-powered systems. Third, interrupts carry some data such as, for instance, the origin of the interrupt or the data located in peripheral memory.…”
Section: Interrupt Handling Problemmentioning
confidence: 99%
“…Second, handling an interrupt may change not only data in memory but also some peripheral states, leading to inconsistency issues between the actual peripheral and what the application assumes it is. These two problems are not new [27], [28], [29], but we need to address them in the specific context of NVRAM-based transiently-powered systems. Third, interrupts carry some data such as, for instance, the origin of the interrupt or the data located in peripheral memory.…”
Section: Interrupt Handling Problemmentioning
confidence: 99%
“…When exploring code paths, symbolic execution can perform a lockset analysis and detect data races. For example, WHOOP [49] is a symbolic execution approach of detecting data races in device drivers. It uses over-approximation and a symbolic pairwise lockset analysis to attempt to prove a driver race-free.…”
Section: Symbolic Executionmentioning
confidence: 99%
“…sequentialization) для последующей проверки ее обычными инструментами статической верификации [30][31][32]. Один из примеров является WHOOP [33], который использует эту технику трансформации и не учитывает взаимодействие потоков. Более того, он сильно использует алгоритм Lockset и не может быть расширен какими-нибудь другими анализами.…”
Section: обзор похожих работunclassified