Our growing dependence on increasingly complex computer and software systems necessitates the development of formalisms, techniques, and tools for assessing functional properties of these systems. One such technique that has emerged in the last twenty years is model checking, which systematically (and automatically) checks whether a model of a given system satisfies a desired property such as deadlock freedom, invariants, and request-response properties. This automated technique for verification and debugging has developed into a mature and widely used approach with many applications. Principles of Model Checking offers a comprehensive introduction to model checking that is not only a text suitable for classroom use but also a valuable reference for researchers and practitioners in the field.
The book begins with the basic principles for modeling concurrent and communicating systems, introduces different classes of properties (including safety and liveness), presents the notion of fairness, and provides automata-based algorithms for these properties. It introduces the temporal logics LTL and CTL, compares them, and covers algorithms for verifying these logics, discussing real-time systems as well as systems subject to random phenomena. Separate chapters treat such efficiency-improving techniques as abstraction and symbolic manipulation. The book includes an extensive set of examples (most of which run through several chapters) and a complete set of basic results accompanied by detailed proofs. Each chapter concludes with a summary, bibliographic notes, and an extensive list of exercises of both practical and theoretical nature.
Instructor Resources for This Title:
About the Authors
Christel Baier is Professor and Chair for Algebraic and Logical Foundations of Computer Science in the Faculty of Computer Science at the Technical University of Dresden.
Joost-Pieter Katoen is Professor at the RWTH Aachen University and leads the Software Modeling and Verification Group within the Department of Computer Science. He is affiliated with the Formal Methods and Tools Group at the University of Twente.
“This is an impressive piece of work...The book can be used as a kind of reference manual for the classical basis of model checking for lecturers, who will be able to select some parts in order to construct a coherent and complete lecture on automatic verification; and of course for students, who will find many explanations, motivations, examples, and proofs to help them discover this very active research area.”—François Laroussinie, The Computer Journal
“This book offers one of the most comprehensive introductions to logic model checking techniques available today. The authors have found a way to explain both basic concepts and foundational theory thoroughly and in crystal clear prose. Highly recommended for anyone who wants to learn about this important new field, or brush up on their knowledge of the current state of the art.”
—Gerard J. Holzmann, NASA/JPL Laboratory for Reliable Software
“Principles of Model Checking, by two principals of model-checkingresearch, offers an extensive and thorough coverage of the state of artin computer-aided verification. With its coverage of timed and probabilistic systems, the reader gets a textbook exposition of some ofthe most advanced topics in model-checking research. Obviously, one cannot expect to cover this heavy volume in a regular graduate course; rather, one can base several graduate courses on this book, which belongs on the bookshelf of every model-checking researcher.”
—Moshe Y. Vardi, Director, Computer and Information Technology Institute, Rice University