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
相关论文
共 50 条
  • [31] Software reliability analysis incorporating fault detection and debugging activities
    Gokhale, SS
    Lyu, MR
    Trivedi, KS
    NINTH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING, PROCEEDINGS, 1998, : 202 - 211
  • [32] Debugging-workflow-aware software reliability growth analysis
    Cinque, Marcello
    Cotroneo, Domenico
    Pecchia, Antonio
    Pietrantuono, Roberto
    Russo, Stefano
    SOFTWARE TESTING VERIFICATION & RELIABILITY, 2017, 27 (07):
  • [33] On the Impact of Debugging on Software Reliability Growth Analysis: A Case Study
    Cinque, Marcello
    Gaiani, Claudio
    De Stradis, Daniele
    Pecchia, Antonio
    Pietrantuono, Roberto
    Russo, Stefano
    COMPUTATIONAL SCIENCE AND ITS APPLICATIONS - ICCSA 2014, PT V, 2014, 8583 : 461 - +
  • [34] Constraint-based Analysis for Verifying and Debugging Concurrent Software
    Wang, Chao
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2016, (224): : 9 - 9
  • [35] Incorporating Fault Dependency and Debugging Delay in Software Reliability Analysis
    Peng, R.
    Hu, Q. P.
    Ng, S. H.
    2008 IEEE INTERNATIONAL CONFERENCE ON MANAGEMENT OF INNOVATION AND TECHNOLOGY, VOLS 1-3, 2008, : 641 - +
  • [36] A system for debugging via online tracing and dynamic slicing
    Nagarajan, Vijay
    Jeffrey, Dennis
    Gupta, Rajiv
    Gupta, Neelam
    SOFTWARE-PRACTICE & EXPERIENCE, 2012, 42 (08): : 995 - 1014
  • [37] IGOR - A SYSTEM FOR PROGRAM DEBUGGING VIA REVERSIBLE EXECUTION
    FELDMAN, SI
    BROWN, CB
    SIGPLAN NOTICES, 1989, 24 (01): : 112 - 123
  • [38] MPSoC Software Debugging on Virtual Platforms via Execution Control with Event Graphs
    Murillo, Luis Gabriel
    Buecs, Robert Lajos
    Leupers, Rainer
    Ascheid, Gerd
    ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2016, 16 (01)
  • [39] HITS - A SYMBOLIC-TESTING AND DEBUGGING SYSTEM FOR MULTILINGUAL MICROCOMPUTER SOFTWARE
    CHUSHO, T
    TANAKA, A
    OKAMOTO, E
    HONDA, A
    KUROSAKI, T
    AFIPS CONFERENCE PROCEEDINGS, 1983, 52 : 73 - &
  • [40] The virtual debugging system for developing embedded software using virtual machinery
    Pan, Y
    Abe, N
    Tanaka, K
    Taki, H
    EMBEDDED AND UBIQUITOUS COMPUTING, PROCEEDINGS, 2004, 3207 : 85 - 95