--%>

What is SLAM

SLAM is a Microsoft project that blurs the line between static analysis and model checking and deductive reasoning. The main goal of SLAM is to check temporal safety properties of C programs (it actually checks that a program correctly uses the interface to an external library) while minimizing the problem of false positives (by using counterexample-driven refinement) without overburdening the users with code annotations. SLAM is original in the sense that it first creates a Boolean abstraction of the original program, then refines the abstraction until it can prove the property or produce a counterexample.

SLAM is one of the rare model checkers with a successful technology transfer story. Indeed, the SLAM analysis engine forms the core of a newly released tool called Static Driver Verifier (SDV) that systematically analyzes the source code of Microsoft Windows device drivers against a set of rules that define what it means for a device driver to accurately interact with the Windows operating system kernel.

   Related Questions in Programming Languages

  • Q : Describe Timers Timers: While time

    Timers: While time values usually cannot be reduced in the target system, their usage can be encapsulated as an abstraction which can be replaced easily (e.g., by a non-deterministic choice) during model checking.

  • Q : Commands used to create the files

    Specify different commands which are used in order to create the files?

  • Q : Explain Return statement Return

    Return statement: It is a statement employed to terminate the execution of the method. The method with void return type might only have return statements of the form as: return;

  • Q : What is an Import statement Import

    Import statement: A statement which makes the names of one or more interfaces or classes accessible in a different package from the one in which they are stated. Import statements pursue any package declaration {package!declaration}, and precede any i

  • Q : Define the term Condition Define the

    Define the term Condition: It is a Boolean expression which controls a conditional statement or loop.

  • Q : Describe Multiple-boot options

    Multiple-boot options: The hardware configurations of several computers are capable to run various operating system and window manager combinations. A few systems permit a user to select which combination they wish to utilize during a specific session

  • Q : Explain Abstraction Abstraction : It is

    Abstraction: It is a simplified symbolization of something which is potentially quite complex. It is frequently not essential to know the precise details of how something works, is symbolized or is implemented, since we can still make use of it in its

  • Q : Differences between XHTML and HTML

    Explain the differences between XHTML and HTML?

  • Q : Define Byte code Byte code : Java

    Byte code: Java source files are converted by a compiler into bytecodes that is, the instruction set of the Java Virtual Machine (JVM). The Bytecodes are stored in the .class files.

  • Q : Use of System Dynamic and System Runtime

    What is the use of System.Dynamic and System.Runtime.CompilerServices namespaces?