An expanded and updated edition of a comprehensive presentation of the theory and practice of model checking, a technology that automates the analysis of complex systems.
Model checking is a verification technology that provides an algorithmic means of determining whether an abstract model—representing, for example, a hardware or software design—satisfies a formal specification expressed as a temporal logic formula. If the specification is not satisfied, the method identifies a counterexample execution that shows the source of the problem. Today, many major hardware and software companies use model checking in practice, for verification of VLSI circuits, communication protocols, software device drivers, real-time embedded systems, and security algorithms. This book offers a comprehensive presentation of the theory and practice of model checking, covering the foundations of the key algorithms in depth.
The field of model checking has grown dramatically since the publication of the first edition in 1999, and this second edition reflects the advances in the field. Reorganized, expanded, and updated, the new edition retains the focus on the foundations of temporal logic model while offering new chapters that cover topics that did not exist in 1999: propositional satisfiability, SAT-based model checking, counterexample-guided abstraction refinement, and software model checking. The book serves as an introduction to the field suitable for classroom use and as an essential guide for researchers.
Edmund M. Clark, Jr., is Professor of Computer Science at Carnegie Mellon University.
. Orna Grumberg is Professor of Computer Science at Technion, Israel Institute of Technology.
Daniel Kroening is Professor of Computer Science at the University of Oxford.
Doron Peled is Professor of Computer Science at Bar-Ilan University.
Helmut Veith was a Professor on the Faculty of Informatics at Vienna University of Technology (TU Vienna).
"This is the book go-to book to learn about model checking methods from some of the people who invented it."
David Dill, Donald E. Knuth Professor Emeritus, School of Engineering, Stanford University
"This book is a must-read, not only for researchers of the verification community but also for everyone developing high-quality computer systems. It provides an excellent introduction to the foundations of model checking, state-of-the-art techniques to tackle the state-explosion problem, and several recent research directions."
Christel Baier, Professor of Computer Science, TU Dresden
"It has been nearly forty years since model checking was first proposed as a technique for formally verifying finite-state concurrent systems. Since then, it has become established as the most widely applicable logical reasoning technique, with applications throughout computer science and beyond. The present volume comprehensively updates the seminal first edition, which rapidly became the key reference for the field. It will be an essential resource for researchers and practitioners in computer science and artificial intelligence, and for everyone interested in the applications of logic."
Michael Woolridge, Professor and Head of Department of Computer Science, Oxford University
"Although model checking is already successful in many industrial applications, its importance will continue to rise in the face of the many challenges in safety and security we have to solve today. This is the definitive textbook on model checking, written by its pioneers, and thus an essential read for all students interested in rigorous systems engineering."
Armin Biere, Professor of Computer Science, Johannes Kepler University