Proceedings of the Twenty-Second IEEE/ACM International Conference on Automated Software Engineering 2007
DOI: 10.1145/1321631.1321719
|View full text |Cite
|
Sign up to set email alerts
|

Model checking concurrent linux device drivers

Abstract: The Slam toolkit demonstrates that predicate abstraction enables automated verification of real world Windows device drivers. Our predicate abstraction-based tool DDVerify enables the automated verification of Linux device drivers and provides an accurate model of the relevant parts of the kernel. We report on benchmarks based on Linux device drivers, confirming the results that Slam established for the Windows world. Furthermore, we take predicate abstraction one step further and introduce a technique to veri… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
46
0

Year Published

2008
2008
2018
2018

Publication Types

Select...
5
3
2

Relationship

2
8

Authors

Journals

citations
Cited by 79 publications
(46 citation statements)
references
References 25 publications
0
46
0
Order By: Relevance
“…A similar study of the cost of such a fixed point iteration has recently been undertaken by Miné [16], and our experiments confirm his results: we use three sets of benchmarks that were previously used as case studies on the analysis of concurrent software: (1) concurrency bug patterns from the Apache web server as used in [26] (atom001, atom001a, atom002, atom002a, banking/av, banking/no av, banking/some av), (2) the banking and indexer examples from [27] (banking and indexer), and (3) several Linux device drivers together with nondeterministic environments as generated by DDVerify [28]. The detailed results and the source code of all experiments together with our implementation of Rugina and Rinard's points-to analysis is available at http://www.cprover.org/wmm/.…”
Section: Specification Vs Implementations Of the Repair Loopmentioning
confidence: 99%
“…A similar study of the cost of such a fixed point iteration has recently been undertaken by Miné [16], and our experiments confirm his results: we use three sets of benchmarks that were previously used as case studies on the analysis of concurrent software: (1) concurrency bug patterns from the Apache web server as used in [26] (atom001, atom001a, atom002, atom002a, banking/av, banking/no av, banking/some av), (2) the banking and indexer examples from [27] (banking and indexer), and (3) several Linux device drivers together with nondeterministic environments as generated by DDVerify [28]. The detailed results and the source code of all experiments together with our implementation of Rugina and Rinard's points-to analysis is available at http://www.cprover.org/wmm/.…”
Section: Specification Vs Implementations Of the Repair Loopmentioning
confidence: 99%
“…In [12] several case studies are reported and among them are checks of two versions of the Linux kernel, with confirmed errors found. A predicate abstraction approach to concurrent Linux device drivers analysis is presented in [36]. The tool DDVerify described there can generate a driver harness from a driver source code, which can further be analysed by a pre-/post condition checking tool SatAbs.…”
Section: Related Workmentioning
confidence: 99%
“…Nowadays CEGAR principles of program verification are implemented in 3 systems for program analysis -BLAST (Berkley Lazy Abstraction Software verification Tool) [7], [8], [9], [17], SDV (Static Driver Verifier) [1], [2], [3], [4], [5], [6], and DDVerify [22]. These systems differ in the techniques used for checking the feasibility of trace and computing abstraction refinement.…”
Section: Formal Analysis Of Programsmentioning
confidence: 99%