A Decade of Concurrency Reflections and Perspectives

Volume 803 of the series Lecture Notes in Computer Science pp 124-175


Verification tools for finite-state concurrent systems

  • E. ClarkeAffiliated withCarnegie Mellon
  • , O. GrumbergAffiliated withThe Technion
  • , D. LongAffiliated withAT&T Bell Labs

* Final gross prices may vary according to local VAT.

Get Access


Temporal logic model checking is an automatic technique for verifying finite-state concurrent systems. Specifications are expressed in a propositional temporal logic, and the concurrent system is modeled as a state-transition graph. An efficient search procedure is used to determine whether or not the state-transition graph satisfies the specification. When the technique was first developed ten years ago, it was only possible to handle concurrent systems with a few thousand states. In the last few years, however, the size of the concurrent systems that can be handled has increased dramatically. By representing transition relations and sets of states implicitly using binary decision diagrams, it is now possible to check concurrent systems with more than 10120 states. In this paper we describe in detail how the new implementation works and give realistic examples to illustrate its power. We also discuss a number of directions for future research. The necessary background information on binary decision diagrams, temporal logic, and model checking has been included in order to make the exposition as self-contained as possible.


automatic verification temporal logic model checking binary decision diagrams