HOME

TheInfoList



OR:

The SLAM project, which was started in 1999 by Thomas Ball and
Sriram Rajamani Rama (; ), Ram, Raman or Ramar, also known as Ramachandra (; , ), is a major deity in Hinduism. He is the seventh and one of the most popular ''avatars'' of Vishnu. In Rama-centric traditions of Hinduism, he is considered the Supreme Being ...
of
Microsoft Research Microsoft Research (MSR) is the research subsidiary of Microsoft. It was created in 1991 by Richard Rashid, Bill Gates and Nathan Myhrvold with the intent to advance state-of-the-art computing and solve difficult world problems through technologi ...
, aimed at verifying software safety properties using
model checking In computer science, model checking or property checking is a method for checking whether a finite-state model of a system meets a given specification (also known as correctness). This is typically associated with hardware or software system ...
techniques. It was implemented in
OCaml OCaml ( , formerly Objective Caml) is a general-purpose, multi-paradigm programming language which extends the Caml dialect of ML with object-oriented features. OCaml was created in 1996 by Xavier Leroy, Jérôme Vouillon, Damien Doligez, D ...
, and has been used to find many bugs in Windows Device Drivers. It is distributed as part of the Microsoft
Windows Driver Foundation Windows Driver Frameworks (WDF, formerly Windows Driver Foundation), is a set of Microsoft tools and libraries that aid in the creation of device drivers for Windows 2000 and later versions of Windows. It complements Windows Driver Model, abstract ...
development kit as the Static Driver Verifier (SDV). "SLAM originally was an acronym but we found it too cumbersome to explain. We now prefer to think of 'slamming' the bugs in a program."Ball, Thomas; Cook, Byron; Levin, Vladimir; and Rajamani, Sriram K.
''SLAM and Static Driver Verifier: Technology Transfer of Formal Methods inside Microsoft''
Lecture Notes in Computer Science (LNCS), Vol. 2999: Boiten, Eerke A.; Derrick, John; and Smith, Graeme; eds.; ''Fourth International Conference on Integrated Formal Methods (IFM 2004), 4–7 April 2004, Canterbury, GB'', Springer, Berlin/Heidelberg, pp. 1–20
It initially stood for "software (specifications), programming languages, abstraction, and model checking". Note that Microsoft has since re-used SLAM to stand for "Social Location Annotation Mobile".Mondok, Matt
''Microsoft's Slam: stay in touch with, stalk your friends''
Ars Technica, 2006 October 10


See also

*
Abstraction model checking In computer science and in mathematics Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topic ...
* the
BLAST model checker The Berkeley Lazy Abstraction Software verification Tool (BLAST) is a software model checking tool for C programs. The task addressed by BLAST is the need to check whether software satisfies the behavioral requirements of its associated interface ...
, a model checker similar to SLAM that uses "lazy abstraction"


References


External links


SLAM website
Formal methods OCaml software Microsoft Research {{compu-eng-stub