Model Checking: Historical Perspective and Example (Extended Abstract) [chapter]

Edmund M. Clarke, Sergey Berezin
1998 Lecture Notes in Computer Science  
Model checking is an automatic verification technique for finite state concurrent systems such as sequential circuit designs and communication protocols. Specifications are expressed in propositional temporal logic. An exhaustive search of the global state transition graph or system model is used to determine if the specification is true or not. If the specification is not satisfied, a counterexample execution trace is generated if possible. By encoding the model using Binary Decision Diagrams
more » ... BDDs) it is possible to search extremely large state spaces with as many as 10 120 reachable states. In this paper we describe the theory underlying this technique and outline its historical development. We demonstrate the power of model checking to find subtle errors by verifying the Space Shuttle Three-Engines-Out Contingency Guidance Protocol. H. de Swart (Ed.): TABLEAUX'98
doi:10.1007/3-540-69778-0_3 fatcat:flyys7zuefhpzou562dwv7hufa