The SLAM project: Debugging system software via static analysis

被引:189
作者
Ball, T [1 ]
Rajamani, SK [1 ]
机构
[1] Microsoft Res, Redmond, WA 98052 USA
关键词
D O I
10.1145/565816.503274
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 usage of kernel APIs.
引用
收藏
页码:1 / 3
页数:3
相关论文
共 31 条
  • [1] ALL T, 2001, PASTE 01, P97
  • [2] AMMONS G, 2002, POPL 02 ACM JAN
  • [3] [Anonymous], LECT NOTES COMPUTER
  • [4] [Anonymous], PRINCIPLES PROGRAMMI
  • [5] Ball T, 2000, LECT NOTES COMPUT SC, V1885, P113
  • [6] BALL T, 2001, MSRTR2001106 MICR RE
  • [7] BALL T, 2001, PROGRAMMING LANGUAGE, P203, DOI DOI 10.1145/378795.378846
  • [8] BALL T, 2001, MSRTR200121 MICR RES
  • [9] BALL T, 2001, LECT NOTES COMPUTER, V2057, P103
  • [10] BALL T, 2001, MSRTR200110 MICR RES