Handbook of model checking

Model checking is a computer-assisted method for the analysis of dynamical systems that can be modeled by state-transition systems. Drawing from research traditions in mathematical logic, programming languages, hardware design, and theoretical computer science, model checking is now widely used for...

Full description

Saved in:
Bibliographic Details
Main Authors Clarke, Edmund M., Henzinger, Thomas A., Veith, Helmut, Bloem, Roderick
Format eBook Book
LanguageEnglish
Published Cham Springer 2018
Springer International Publishing AG
Springer International Publishing
Edition1
Subjects
Online AccessGet full text
ISBN9783319105741
3319105744
DOI10.1007/978-3-319-10575-8

Cover

Abstract Model checking is a computer-assisted method for the analysis of dynamical systems that can be modeled by state-transition systems. Drawing from research traditions in mathematical logic, programming languages, hardware design, and theoretical computer science, model checking is now widely used for the verification of hardware and software in industry.The editors and authors of this handbook are among the world's leading researchers in this domain, and the 32 contributed chapters present a thorough view of the origin, theory, and application of model checking. In particular, the editors classify the advances in this domain and the chapters of the handbook in terms of two recurrent themes that have driven much of the research agenda: the algorithmic challenge, that is, designing model-checking algorithms that scale to real-life problems; and the modeling challenge, that is, extending the formalism beyond Kripke structures and temporal logic.The book will be valuable for researchers and graduate students engaged with the development of formal methods and verification tools.
AbstractList Model checking is a computer-assisted method for the analysis of dynamical systems that can be modeled by state-transition systems. Drawing from research traditions in mathematical logic, programming languages, hardware design, and theoretical computer science, model checking is now widely used for the verification of hardware and software in industry.The editors and authors of this handbook are among the world's leading researchers in this domain, and the 32 contributed chapters present a thorough view of the origin, theory, and application of model checking. In particular, the editors classify the advances in this domain and the chapters of the handbook in terms of two recurrent themes that have driven much of the research agenda: the algorithmic challenge, that is, designing model-checking algorithms that scale to real-life problems; and the modeling challenge, that is, extending the formalism beyond Kripke structures and temporal logic.The book will be valuable for researchers and graduate students engaged with the development of formal methods and verification tools.
Author Henzinger, Thomas A.
Veith, Helmut
Clarke, Edmund M.
Bloem, Roderick
Author_xml – sequence: 1
  fullname: Clarke, Edmund M.
– sequence: 2
  fullname: Henzinger, Thomas A.
– sequence: 3
  fullname: Veith, Helmut
– sequence: 4
  fullname: Bloem, Roderick
BackLink https://cir.nii.ac.jp/crid/1130000796851070208$$DView record in CiNii
BookMark eNpNkEtPwzAQhI2gCFL6A-DUAxLiELr2xq8jVIUiVeKCuFqO7dDQkEBcHj-fpAGJy65G-ma0Owk5qJs6EHJK4YoCyJmWKsUUqU4pcMlTtUcS7OROsX0y6YA_ndERSRhQpTPMAA9JQgGFVopleEQmMb4AAAOUXPNjcra0tc-bZjNtiulr40M1devgNmX9fEJGha1imPzuMXm6XTzOl-nq4e5-fr1KLWNCf6daYM6dB_SacqBUFBwYczl6brWTTGQSnaN5UVjnmQ_WW5V75oQS3HoncUwuh2AbN-ErrptqG81nFfqzovn3GlcdOxvY-NZ2N4bWDBQF0zfV0wZNx5udwfSOi8Hx1jbvHyFuzS7YhXrb2sosbuYctZJIO_J8IOuyNK7sJ6XYtQVSC8UpyK43hT_HBGza
ContentType eBook
Book
Copyright Springer International Publishing AG, part of Springer Nature 2018
Copyright_xml – notice: Springer International Publishing AG, part of Springer Nature 2018
DBID RYH
DOI 10.1007/978-3-319-10575-8
DatabaseName CiNii Complete
DatabaseTitleList
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 3319105752
9783319105758
Edition 1
1st ed. 2018.
Editor Henzinger, Thomas A.
Veith, Helmut
Clarke, Edmund M.
Bloem, Roderick
Editor_xml – sequence: 1
  givenname: Edmund M.
  surname: Clarke
  fullname: Clarke, Edmund M.
  organization: FORE Systems University Professor of Computer Science, Carnegie Mellon University, Pittsburgh, USA
– sequence: 2
  givenname: Thomas A.
  surname: Henzinger
  fullname: Henzinger, Thomas A.
  email: tah@ist.ac.at
  organization: Institute of Science and Technology Austria (IST), Klosterneuburg, Austria
– sequence: 3
  givenname: Helmut
  surname: Veith
  fullname: Veith, Helmut
  organization: Arbeitsbereich Formal Methods in Systems Engineering, Technische Universität Wien, Wien, Austria
– sequence: 4
  givenname: Roderick
  surname: Bloem
  fullname: Bloem, Roderick
  email: roderick.bloem@iaik.tugraz.at
  organization: Institut f. Angewandte Informationsverarbeitung und Kommunikationstechnologie (IAIK), Technische Universität Graz, Graz, Austria
ExternalDocumentID 9783319105758
193915
EBC5398731
BB26619250
GroupedDBID 0D6
0DA
38.
AABBV
ACBPT
ACOUV
AEJLV
AEKFX
AEZAY
ALMA_UNASSIGNED_HOLDINGS
ANXHU
AZZ
BBABE
BICGV
BJAWL
BUBNW
CVGDX
CZZ
FOYMO
I4C
IEZ
JJU
NQNQZ
OEBZI
RYH
SBO
TPJZQ
Z7R
Z7U
Z7X
Z7Z
Z81
Z83
Z84
Z85
Z88
ID FETCH-LOGICAL-a2269x-963b5cd03d9150116f5022cb3d5a9c726473cc1bffacd2deada8bd2c6865adc73
ISBN 9783319105741
3319105744
IngestDate Mon Jun 02 03:32:02 EDT 2025
Fri May 23 02:58:09 EDT 2025
Fri May 30 22:13:38 EDT 2025
Thu Jun 26 22:04:43 EDT 2025
IsPeerReviewed false
IsScholarly false
LCCN 2018943403
LCCallNum_Ident QA75.5-76.95
Language English
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-a2269x-963b5cd03d9150116f5022cb3d5a9c726473cc1bffacd2deada8bd2c6865adc73
Notes Other editors: Thomas A. Henzinger, Helmut Veith, Roderick Bloem
Includes bibliographical references and index
OCLC 1036988243
PQID EBC5398731
PageCount 1210
ParticipantIDs askewsholts_vlebooks_9783319105758
springer_books_10_1007_978_3_319_10575_8
proquest_ebookcentral_EBC5398731
nii_cinii_1130000796851070208
PublicationCentury 2000
PublicationDate c2018
2018
20180519
2018-05-18
PublicationDateYYYYMMDD 2018-01-01
2018-05-19
2018-05-18
PublicationDate_xml – year: 2018
  text: c2018
PublicationDecade 2010
PublicationPlace Cham
PublicationPlace_xml – name: Cham
PublicationYear 2018
Publisher Springer
Springer International Publishing AG
Springer International Publishing
Publisher_xml – name: Springer
– name: Springer International Publishing AG
– name: Springer International Publishing
SSID ssj0002037595
Score 2.7415872
Snippet Model checking is a computer-assisted method for the analysis of dynamical systems that can be modeled by state-transition systems. Drawing from research...
SourceID askewsholts
springer
proquest
nii
SourceType Aggregation Database
Publisher
SubjectTerms Computer Science
Computer systems-Handbooks, manuals, etc
Mathematical Logic and Foundations
Mathematics of Computing
Performance and Reliability
Quality Control, Reliability, Safety and Risk
Software Engineering/Programming and Operating Systems
Theory of Computation
TableOfContents 12.3.1.4 Complementation
Intro -- Handbook of Model Checking -- Foreword -- Preface -- Acknowledgements -- Contents -- Contributors -- Chapter 1: Introduction to Model Checking -- 1.1 The Case for Computer-Aided Veri cation -- 1.2 Temporal-Logic Model Checking in a Nutshell -- 1.2.1 Kripke Structures -- 1.2.2 The Temporal Logic CTL -- 1.2.3 The Temporal Logic CTL -- 1.2.4 The Temporal Logic LTL -- 1.3 A Very Brief Guide Through the Chapters of the Handbook -- 1.3.1 The Algorithmic Challenge -- 1.3.2 The Modeling Challenge -- 1.4 The Future of Model Checking -- References -- Chapter 2: Temporal Logic and Fair Discrete Systems -- 2.1 Introduction -- 2.2 Fair Discrete Systems -- 2.2.1 Kripke Structures -- 2.2.2 De nition of Fair Discrete System -- 2.2.3 Representing Programs -- 2.2.4 Algorithms -- 2.3 Linear Temporal Logic -- 2.3.1 De nition of Linear Temporal Logic -- 2.3.2 Safety Versus Liveness and the Temporal Hierarchy -- 2.3.3 Extensions of LTL -- 2.3.4 Temporal Testers, Satis ability, and Model Checking -- 2.4 Computation Tree Logic -- 2.4.1 De nition of Computation Tree Logic -- 2.4.2 Extensions -- 2.4.3 Model Checking and Satis ability -- 2.5 Examples for LTL and CTL -- 2.5.1 Invariance and Safety -- 2.5.2 Liveness -- 2.5.3 Additional Examples -- 2.6 CTL* -- 2.6.1 Branching vs. Linear Time -- 2.6.2 CTL* De nition -- 2.6.3 Examples of Usage of CTL* -- 2.6.4 Model Checking and Satis ability -- References -- Chapter 3: Modeling for Veri cation -- 3.1 Introduction -- 3.2 Major Considerations in System Modeling -- 3.2.1 Selecting a Modeling Formalism and Language -- 3.2.1.1 Type of System -- 3.2.1.2 Type of Property -- 3.2.1.3 Modeling the Environment -- 3.2.1.4 Level of Abstraction -- 3.2.1.5 Clarity and Modularity -- 3.2.1.6 Form of Composition -- 3.2.1.7 Computational Engines -- 3.2.1.8 Practical Ease of Modeling and Expressiveness -- 3.2.2 Modeling Languages
9.4.2 Unique Implication Points -- 9.4.3 Learned Clause Minimization -- 9.4.4 Lazy Data Structures -- 9.4.5 Search Restarts -- 9.4.6 Lightweight Branching Heuristics -- 9.4.7 Additional Techniques and Recent Trends -- 9.5 SAT-Based Problem Solving -- 9.5.1 Incremental SAT -- 9.5.2 Unsatis able Cores -- 9.5.3 CNF Encodings -- 9.5.4 Optimization -- 9.5.5 Model Enumeration -- 9.5.6 Minimal Sets -- 9.5.7 Quanti cation -- 9.6 Research Directions -- References -- Chapter 10: SAT-Based Model Checking -- 10.1 Introduction -- 10.2 Bounded Model Checking on Kripke Structures -- 10.2.1 Kripke Structures -- 10.2.2 Safety Properties -- 10.2.3 Liveness Properties -- 10.2.3.1 Liveness to Safety Translation -- 10.2.3.2 k-Liveness -- 10.3 Bounded Model Checking for Hardware Designs -- 10.3.1 Hardware Description Languages (HDLs) -- 10.3.2 BMC on Net-Lists -- 10.4 Bounded Model Checking for Software -- 10.4.1 Monolithic Encodings -- 10.4.2 Path-Based Encodings -- 10.4.3 Completeness for Bounded Programs -- 10.4.4 BMC for Multi-threaded Programs -- 10.4.5 Bounded Model Checking for HW/SW Co-veri cation -- 10.5 Encodings into Propositional SAT -- 10.5.1 Encoding Bit Vectors -- 10.5.2 Encoding Memory -- 10.5.3 Encodings with Under- and Over-approximation -- 10.6 Complete Model Checking with SAT -- 10.6.1 Completeness Thresholds -- 10.6.2 Image Computation with SAT -- 10.6.3 Basic Inductive Techniques -- 10.6.3.1 Strengthening the Inductive Argument -- 10.6.3.2 Equivalence Reasoning -- 10.6.3.3 Temporal Decomposition -- 10.6.3.4 k-Induction -- 10.6.4 Craig Interpolation -- 10.6.5 Iterative Inductive Strengthening -- 10.7 Abstraction Techniques Using SAT -- 10.7.1 Overview of Predicate Abstraction -- 10.7.2 Computing Abstractions with SAT -- 10.7.3 Simulation with SAT -- 10.7.4 Abstraction-Based Tools -- 10.8 Outlook and Conclusions -- References
5.8.1 Bitstate Hashing and Bloom Filters -- 5.9 Extensions -- 5.10 Synopsis -- References -- Chapter 6: Partial-Order Reduction -- 6.1 Introduction -- 6.2 Partial Order Reduction -- Reduction for LTL -- On-the-Fly Model Checking -- Reduction for CTL -- Reduction for Process Algebra -- Reducing Visibility -- 6.3 Reducing Edges While Preserving States -- Sleep Sets -- Trace Normal Form -- Edge Lean Algorithm -- 6.4 Conclusions -- References -- Chapter 7: Binary Decision Diagrams -- 7.1 Introduction -- 7.2 Terminology -- 7.3 A Boolean Function API -- 7.4 OBDD Representation -- 7.5 Implementing OBDD Operations -- 7.6 Implementation Techniques -- 7.7 Variable Ordering and Reordering -- 7.8 Variant Representations -- 7.9 Representing Non-Boolean Functions -- 7.10 Scaling OBDD Capacity -- Comparison to SAT Checking -- 7.11 Concluding Remarks -- References -- Chapter 8: BDD-Based Symbolic Model Checking -- 8.1 Introduction -- 8.2 Preliminaries -- 8.3 Binary Decision Diagrams: The Basics -- 8.3.1 Representing Sets and Relations -- 8.3.1.1 Characteristic Function -- 8.3.1.2 Representing Sets -- 8.3.1.3 Representing Relations -- 8.3.2 Image Computation -- 8.3.3 Partitioned Transition Relation -- 8.3.3.1 Disjunctive Decomposition -- 8.3.3.2 Conjunctive Decomposition -- 8.3.4 Historical Perspective -- 8.4 Model Checking Kripke Structures -- 8.4.1 Reachability/Invariant/AG -- 8.4.2 CTL Model Checking -- 8.4.3 Fair CTL Model Checking -- 8.4.3.1 Function egFairStates -- 8.4.3.2 Function ctlFairStates -- 8.4.4 LTL Model Checking -- 8.4.4.1 Restricted Path Formula -- 8.4.4.2 Algorithm ltlTableau -- 8.5 Push-Down Symbolic Model Checking -- 8.6 Conclusion -- References -- Chapter 9: Propositional SAT Solving -- 9.1 Introduction -- 9.2 Preliminaries -- 9.3 CDCL SAT Solvers: Organization -- 9.4 CDCL SAT Solvers -- 9.4.1 Clause Learning and Non-chronological Backtracking
Chapter 11: Satis ability Modulo Theories -- 11.1 Introduction -- 11.1.1 Technical Preliminaries -- 11.2 SMT in Model Checking -- 11.3 The Lazy Approach to SMT -- 11.3.1 A Basic Lazy SMT Solver -- 11.3.2 SAT Engine and Theory Solver Features -- 11.3.3 A General Framework and Architecture -- 11.4 Theory Solvers for Speci c Theories -- 11.4.1 Uninterpreted Function Symbols -- 11.4.2 Real Arithmetic -- 11.4.3 Integer Arithmetic -- 11.4.4 Mixed Integer and Real Arithmetic -- 11.4.5 Difference Logic -- 11.4.6 Bit Vectors -- 11.4.7 Arrays -- 11.4.8 Other Theories -- 11.5 Combining Theory Solvers -- 11.5.1 A Basic Combination Method -- 11.5.2 Combination Variants and Extensions -- 11.6 SMT Solving Extensions and Enhancements -- 11.7 Eager Encodings to SAT -- 11.8 Additional Functionalities of SMT Solvers -- References -- Chapter 12: Compositional Reasoning -- 12.1 Introduction -- 12.2 Reasoning with Assertions -- 12.2.1 The (Non-compositional) Owicki-Gries Method -- 12.2.2 The Assume-Guarantee View: Localized Inductive Invariants -- 12.2.2.1 The Shared-Variable Program Model -- A Note on Notation -- Invariant Assertions -- 12.2.2.2 Split Invariants -- 12.2.3 Computing the Strongest Split Invariant -- Split Invariance for N Processes -- 12.2.4 Relationship to Rely-Guarantee -- 12.2.5 Completeness Issues -- 12.2.6 Deadlock Detection with Local Invariants -- 12.2.7 Local Proofs for Termination, Temporal Properties, and Fairness -- 12.2.7.1 Background -- 12.2.7.2 Local Proof Rules for Liveness Properties -- 12.2.8 Algorithms for Local Analysis of Temporal Properties -- 12.2.9 Automating the Discovery of Auxiliary Variables -- 12.2.10 Local Symmetry -- 12.2.11 Further Reading -- 12.3 Automata-Based Assume-Guarantee Reasoning -- 12.3.1 Formalisms -- 12.3.1.1 Finite-State Machines -- 12.3.1.2 Parallel Composition of FSMs -- 12.3.1.3 Properties
3.2.3 Challenges in Modeling -- 3.2.4 Scope of This Chapter -- 3.3 Modeling Basics -- 3.3.1 Syntax -- 3.3.2 Dynamics -- 3.3.3 Modeling Concepts -- 3.4 Examples -- 3.4.1 Synchronous Circuits -- 3.4.1.1 Router Design -- 3.4.1.2 Simpli cations and sml Model -- 3.4.1.3 Veri cation Task: Progress Through the Router -- 3.4.1.4 Data Type Abstraction -- 3.4.1.5 Environment Modeling -- 3.4.1.6 Summary -- 3.4.2 Synchronous Control Systems -- 3.4.3 Concurrent Software -- 3.5 Kripke Structures -- 3.5.1 Transition Systems -- 3.5.2 From sml Programs to Kripke Structures -- 3.6 Summary -- References -- Chapter 4: Automata Theory and Model Checking -- 4.1 Introduction -- 4.2 Nondeterministic Büchi Automata on In nite Words -- 4.2.1 De nitions -- 4.2.2 Closure Properties -- 4.2.2.1 Closure Under Union and Intersection -- 4.2.2.2 Closure Under Complementation -- 4.2.3 Determinization -- 4.3 Additional Acceptance Conditions -- 4.3.1 Translations Among the Different Classes -- 4.3.1.1 Translations Among the Different Conditions -- 4.3.1.2 Typeness -- 4.3.1.3 Translations That Require a New State Space -- 4.3.2 Determinization of NBWs -- 4.4 Decision Procedures -- 4.5 Alternating Automata on In nite Words -- 4.5.1 De nition -- 4.5.2 Closure Properties -- 4.5.3 Decision Procedures -- 4.6 Automata-Based Algorithms -- 4.6.1 Translating LTL to Büchi Automata -- 4.6.1.1 A Translation via ABWs -- 4.6.1.2 A Direct Translation to NBWs -- 4.6.1.3 The Blow-up in the LTL to NBW Translation -- 4.6.2 Model Checking and Satis ability -- References -- Chapter 5: Explicit-State Model Checking -- 5.1 Introduction -- 5.1.1 The Importance of Abstraction -- 5.2 Basic Search Algorithms -- 5.3 Linear Temporal Logic -- 5.4 Omega Automata -- 5.5 Nested Depth-First Search -- 5.6 Abstraction -- 5.6.1 Tic-Tac-Toe -- 5.7 Model-Driven Veri cation -- 5.8 Incomplete Storage
Title Handbook of model checking
URI https://cir.nii.ac.jp/crid/1130000796851070208
https://ebookcentral.proquest.com/lib/[SITE_ID]/detail.action?docID=5398731
http://link.springer.com/10.1007/978-3-319-10575-8
https://www.vlebooks.com/vleweb/product/openreader?id=none&isbn=9783319105758
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV3da9swEBdd-tK-rF1bln5hRh8GxSGWIlt6bEpKCVufstA3oS9DSOvAkozRv753jmUnaaFsLyKR41xyZ939dB86Qq6E5MJ5mccs5Tzu-UzHJuvy2FLa1d7libNYO_zzIb3_1Rs-8sem_r6sLlmYjn15t67kf6QKcyBXrJL9B8nWXwoT8BrkCyNIGMYt8Fu_DR19CodTZXQce9lcA-_tNJihjbybgXteYjJFp3F7Fi-lM69JELq-qa-OfeVqAYP0vKyTYvpPM7_qiIzN08JR-pW7IBFb7oLgLtzYRjJYh9jvd3UE1Rulup5HgTVP-FEei8aC1Hl9_T7ae0nRifIpy2AzvHszGP4Y114vii13Jccim0BzdTrj2m8Isefq-N8NmvtkX8-noP7BNCzmgAeKyWRjb7AVzi5RwuiAtLBy5JDs-OIL-Rz6ZUSV-jwip0Fs0SyPSrFFQWzHZHw3GN3ex1VvilgDYJV_Y1BchlvXZU4Cpk6SNOcAh6xhjmtpM8CZGbM2MXmuraMOFqwWxlGbipRrZzN2QlrFrPBfSWRo6mGVGATPvcQ7CTd60KtGaq69p23ybe1Pqz9PZRx9rta4xkWbXAAvlJ3gmGCQEhgoUwDUoNRpF65HgUuqvL9K_lWD_i1nUmQsaZPvgXtqRSGcaQ2UFFNAS5XElDj9gNoZ2WsevnPSWvxe-gtAbwtzWT0Sr6W8NhU
linkProvider Library Specific Holdings
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.title=Handbook+of+model+checking&rft.au=Clarke%2C+Edmund+M.&rft.au=Henzinger%2C+Thomas+A.&rft.au=Veith%2C+Helmut&rft.au=Bloem%2C+Roderick&rft.date=2018-01-01&rft.pub=Springer&rft.isbn=9783319105741&rft_id=info:doi/10.1007%2F978-3-319-10575-8&rft.externalDocID=BB26619250
thumbnail_m http://utb.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Fvle.dmmserver.com%2Fmedia%2F640%2F97833191%2F9783319105758.jpg
thumbnail_s http://utb.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Fmedia.springernature.com%2Fw306%2Fspringer-static%2Fcover-hires%2Fbook%2F978-3-319-10575-8