SPIN is a general tool for verifying the correctness of
concurrent software models in a rigorous and mostly automated fashion. It was written by
Gerard J. Holzmann and others in the original
Unix
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
group of the Computing Sciences Research Center at
Bell Labs
Nokia Bell Labs, commonly referred to as ''Bell Labs'', is an American industrial research and development company owned by Finnish technology company Nokia. With headquarters located in Murray Hill, New Jersey, Murray Hill, New Jersey, the compa ...
, beginning in 1980. The software has been available freely since 1991, and continues to evolve to keep pace with new developments in the field.
Tool
Systems to be verified are described in
Promela (Process Meta Language), which supports modeling of
asynchronous
Asynchrony is any dynamic far from synchronization. If and as parts of an asynchronous system become more synchronized, those parts or even the whole system can be said to be in sync.
Asynchrony or asynchronous may refer to:
Electronics and com ...
distributed algorithm A distributed algorithm is an algorithm designed to run on computer hardware constructed from interconnected processors. Distributed algorithms are used in different application areas of distributed computing, such as telecommunications, scientifi ...
s as
non-deterministic automata
An automaton (; : automata or automatons) is a relatively self-operating machine, or control mechanism designed to automatically follow a sequence of operations, or respond to predetermined instructions. Some automata, such as bellstrikers i ...
(''SPIN'' stands for "Simple Promela Interpreter"). Properties to be verified are expressed as
Linear Temporal Logic (LTL) formulas, which are negated and then converted into
Büchi automata as part of the model-checking algorithm. In addition to model-checking, SPIN can also operate as a simulator, following one possible execution path through the system and presenting the resulting execution trace to the user.
Unlike many model-checkers, SPIN does not actually perform model-checking itself, but instead generates
C sources for a problem-specific model checker. This technique saves memory and improves performance, while also allowing the direct insertion of chunks of C code into the model. SPIN also offers a large number of options to further speed up the model-checking process and save memory, such as:
*
partial order reduction;
*state
compression;
*
bitstate hashing (instead of storing whole states, only their hash code is remembered in a bitfield; this saves a lot of memory but voids
completeness);
*weak fairness enforcement.
Since 1995, (approximately) annual SPIN workshops have been held for SPIN users, researchers, and those generally interested in
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 syst ...
.
In 2001, the
Association for Computing Machinery
The Association for Computing Machinery (ACM) is a US-based international learned society for computing. It was founded in 1947 and is the world's largest scientific and educational computing society. The ACM is a non-profit professional membe ...
awarded SPIN its System Software Award.
Software System Award: ACM CITES TOOL TO DETECT SOFTWARE "BUGS" FOR PRESTIGIOUS AWARD. Bell Labs Researcher Developed "SPIN" to Make Computers More Reliable
// ACM Press-Release
See also
* NuSMV
* Uppaal Model Checker
References
Further reading
*Holzmann, G. J., ''The SPIN Model Checker: Primer and Reference Manual''. Addison-Wesley
Addison–Wesley is an American publisher of textbooks and computer literature. It is an imprint of Pearson plc, a global publishing and education company. In addition to publishing books, Addison–Wesley also distributes its technical titles ...
, 2004. {{ISBN, 0-321-22862-6.
External links
SPIN website
Model checkers