Spin - Formal Verification

ON-THE-FLY, LTL MODEL CHECKING with SPIN

Contents

For downloading and installation instructions, see Spin's Readme file.

General Description

Spin is a widely distributed software package that supports the formal verification of distributed systems. The software was developed at Bell Labs in the formal methods and verification group starting in 1980. Some of the features that set this tool apart from related verification systems are: To verify a design, a formal model is built using PROMELA, Spin's input language. PROMELA is a non-deterministic language, loosely based on Dijkstra's guarded command language notation and borrowing the notation for i/o operations from Hoare's CSP language.

Spin can be used in three basic modes:

  1. as a simulator, allowing for rapid prototyping with a random, guided, or interactive simulations
  2. as an exhaustive state space analyzer, capable of rigorously proving the validity of user specified correctness requirements (using partial order reduction theory to optimize the search)
  3. as a bit-state space analyzer that can validate even very large protocol systems with maximal coverage of the state space (a proof approximation technique).

The Spin software is written in ANSI standard C, and is portable across all versions of the UNIX operating system. It can also be compiled to run on any standard PC running Linux, Windows95/98, or WindowsNT.

Downloading and installation instructions can be found in Spin's Readme file.

Tool Documentation

Documentation for Spin consists of published papers and books, documentation distributed with the Spin sources, online manual pages, the Spin Newsletters, and the Spin Workshop proceedings. The following list points to the online documentation; some relevant papers and books can be found in the next section.

Theoretical Background

NewsLetters

Annual Workshops

The next, 7th, Spin workshop will be held August 30-September 1, 2000 at Stanford University near San Fransisco, CA, USA, organized by Klaus Havelund, John Penix, and Willem Visser from NASA Ames Research Center in California.
Online proceedings for previous workshops can be found in:


spin_list@research.bell-labs.com (Page Updated: 21 June 1999)