SPIN is an efficient verification system for models of distributed software systems. It has been used to detect design errors in applications ranging from high-level descriptions of distributedâ€¦ (More)

We describe an extension of the Spin model checker that allows us to take advantage of the increasing number of cpu-cores available on standard desktop systems. Our main target is to speed up theâ€¦ (More)

Critical safety and liveness properties of a concurrent system can often be proven with the help of a reachability analysis of a finite state model. This type of analysis is usually implemented as aâ€¦ (More)

Message sequence charts (MSCs) are used in the design phase of a distributed system to record intended system behaviors. They serve as informal documentation of design requirements that are referredâ€¦ (More)

We show in this paper that the algorithm for solving the model checking problem with a nested depth-first search can interfere with algorithms that support partial order reduction. We introduce aâ€¦ (More)

We describe a family of optimizations implemented in a translation from a linear temporal logic to B uchi automata. Such optimized automata can enhance the e ciency of model checking, as practicedâ€¦ (More)

The verification algorithm of SPIN is based on an explicit enumeration of a subset of the reachable state-space of a system that is obtained through the formalization of a correctness requirement asâ€¦ (More)

State-space caching is a veri cation technique for nite-state concurrent systems. It performs an exhaustive exploration of the state space of the system being checked while storing only all states ofâ€¦ (More)

Only a small fraction of the output generated by typical static analysis tools tends to reveal serious software defects. There are two main causes for this phenomenon. The first is that the typicalâ€¦ (More)