Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
SPIN model checker
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Tool== Systems to be verified are described in [[Promela]] (Process Meta Language), which supports modeling of [[wikt:asynchronous|asynchronous]] [[distributed algorithm]]s as [[Nondeterministic algorithm|non-deterministic]] [[automata theory|automata]] (''SPIN'' stands for "Simple Promela Interpreter"). Properties to be verified are expressed as [[Linear Temporal Logic|Linear Temporal Logic (LTL)]] formulas, which are negated and then converted into [[Büchi automaton|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 (programming language)|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 [[Data compression|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 (knowledge bases)|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 2001, the [[Association for Computing Machinery]] awarded SPIN its System Software Award.<ref>[https://spinroot.com/gerard/pdf/acm_awarded.pdf 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</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)