The S LAM project
Microsoft Research (United Kingdom) · Microsoft (United States)
Abstract
The goal of the SLAM project is to check whether or not a program obeys "API usage rules" that specify what it means to be a good client of an API. The SLAM toolkit statically analyzes a C program to determine whether or not it violates given usage rules. The toolkit has two unique aspects: it does not require the programmer to annotate the source program (invariants are inferred); it minimizes noise (false error messages) through a process known as "counterexample-driven refinement". SLAM exploits and extends results from program analysis, model checking and automated deduction. We have successfully applied the SLAM toolkit to Windows XP device drivers, to both validate behavior and find defects in their…
Citation impact
- FWCI
- 50.63
- Percentile
- 100%
- References
- 33
Authors
2Topics & keywords
- Computer science
- Programmer
- Counterexample
- Programming language
- Kernel (algebra)
- Semantics (computer science)
- Exploit
- Process (computing)
- Peace, Justice and strong institutions