--%>

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 : Explain Cohesion Cohesion : The level

    Cohesion: The level to which a component executes a single well-stated task. A strongly cohesive technique, for example, will execute a single task, like adding an item to a data structure, or sorting several data, while a weakly cohesive technique wi

  • Q : Define Unconditional Jumps

    Unconditional Jumps: Jumps which are not strictly upwards in the block hierarchy can require extensive control-flow manipulation, including creation of redundant code, and should be avoided if possible. Such jumps add considerable modeling overhead fo

  • Q : Explain the purpose of using XML

    Explain the purpose of using XML.

  • Q : What is message queue Describe the

    Describe the message queue?

  • Q : Explain the term an XHTML element

    Explain the term an XHTML element attribute.

  • Q : New features of ASP.NET AJAX 4.0

    Explain the new features of the ASP.NET AJAX 4.0?

  • Q : Abstract list domain The abstract list

    The abstract list domain is as shown: {empty, some, [d1], [d2],[ d1, d2], [d2, d1], all}. A) empty represents empty lists.

    Q : Explain the way to write the opening

    Explain the way to write the opening tag of an XHTML element.

  • Q : What is Stepwise refinement Stepwise

    Stepwise refinement: It is a divide and conquer approach to the programming, in which a complicated problem is recursively divided into smaller, sub-problems and more manageable. This approach to program design is frequently employed with structured p

  • Q : What is Low level programming languages

    Low level programming languages: It is frequently termed as `assembly languages’; these give little more than the fundamental instruction set of a particular Central Processing Unit. Therefore programs written in low level programming languages