Specification and verification of concurrent programs by A∀automata
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Parallel program design: a foundation
Parallel program design: a foundation
Handbook of theoretical computer science (vol. B)
Tree automata, Mu-Calculus and determinacy
SFCS '91 Proceedings of the 32nd annual symposium on Foundations of computer science
Local model checking in the modal mu-calculus
TAPSOFT '89 2nd international joint conference on Theory and practice of software development
Local model checking for infinite state spaces
Selected papers of the Second Workshop on Concurrency and compositionality
Safe kernel extensions without run-time checking
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
The design and implementation of a certifying compiler
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Verifying Temporal Properties of Reactive Systems: A STeP Tutorial
Formal Methods in System Design
Formal verification of parallel programs
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
From model checking to a temporal proof
SPIN '01 Proceedings of the 8th international SPIN workshop on Model checking of software
How to cook a temporal proof system for your pet language
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Automata for the Modal mu-Calculus and related Results
MFCS '95 Proceedings of the 20th International Symposium on Mathematical Foundations of Computer Science
Results on the Propositional µ-Calculus
Proceedings of the 9th Colloquium on Automata, Languages and Programming
Practical Model-Checking Using Games
TACAS '98 Proceedings of the 4th International Conference on Tools and Algorithms for Construction and Analysis of Systems
A Verified Model Checker for the Modal µ-calculus in Coq
TACAS '98 Proceedings of the 4th International Conference on Tools and Algorithms for Construction and Analysis of Systems
The HOL-Voss System: Model-Checking inside a General-Purpose Theorem-Prover
HUG '93 Proceedings of the 6th International Workshop on Higher Order Logic Theorem Proving and its Applications
Automatic Deductive Verification with Invisible Invariants
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Verification of Infinite State Systems by Compositional Model Checking
CHARME '99 Proceedings of the 10th IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods
Specification and verification of concurrent systems in CESAR
Proceedings of the 5th Colloquium on International Symposium on Programming
Implementing a Model Checker for LEGO
FME '97 Proceedings of the 4th International Symposium of Formal Methods Europe on Industrial Applications and Strengthened Foundations of Formal Methods
Linking Theorem Proving and Model-Checking with Well-Founded Bisimulation
CAV '99 Proceedings of the 11th International Conference on Computer Aided Verification
Parameterized Verification with Automatically Computed Inductive Assertions
CAV '01 Proceedings of the 13th International Conference on Computer Aided Verification
On Model-Checking for Fragments of µ-Calculus
CAV '93 Proceedings of the 5th International Conference on Computer Aided Verification
An Integration of Model Checking with Automated Proof Checking
Proceedings of the 7th International Conference on Computer Aided Verification
Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic
Logic of Programs, Workshop
Lifting Temporal Proofs through Abstractions
VMCAI 2003 Proceedings of the 4th International Conference on Verification, Model Checking, and Abstract Interpretation
Temporal-Safety Proofs for Systems Code
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
A Deductive Proof System for CTL
CONCUR '02 Proceedings of the 13th International Conference on Concurrency Theory
Implementing Spi Calculus Using Nominal Techniques
CiE '08 Proceedings of the 4th conference on Computability in Europe: Logic and Theory of Algorithms
Software model checking without source code
Innovations in Systems and Software Engineering
MBEERTS'07 Proceedings of the 2007 International Dagstuhl conference on Model-based engineering of embedded real-time systems
Exploring inconsistencies between modal transition systems
Software and Systems Modeling (SoSyM)
Robust discrete synthesis against unspecified disturbances
Proceedings of the 14th international conference on Hybrid systems: computation and control
Automatic synthesis of assumptions for compositional model checking
FORTE'06 Proceedings of the 26th IFIP WG 6.1 international conference on Formal Techniques for Networked and Distributed Systems
Towards a notion of unsatisfiable cores for LTL
FSEN'09 Proceedings of the Third IPM international conference on Fundamentals of Software Engineering
A framework for counterexample generation and exploration
FASE'05 Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering
A type system equivalent to a model checker
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Sanity checks in formal verification
CONCUR'06 Proceedings of the 17th international conference on Concurrency Theory
Proving the refuted: symbolic model checkers as proof generators
Concurrency, Compositionality, and Correctness
SLAB: a certifying model checker for infinite-state concurrent systems
TACAS'10 Proceedings of the 16th international conference on Tools and Algorithms for the Construction and Analysis of Systems
SAT-Based software certification
TACAS'06 Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Towards a notion of unsatisfiable and unrealizable cores for LTL
Science of Computer Programming
Generating Invariant-Based Certificates for Embedded Systems
ACM Transactions on Embedded Computing Systems (TECS)
Improving the Translation from ECTL to SAT
Fundamenta Informaticae - Concurrency Specification and Programming (CS&P)
Model-driven construction of certified binaries
MODELS'07 Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems
A fully verified executable LTL model checker
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Solving existentially quantified horn clauses
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
A theory of robust omega-regular software synthesis
ACM Transactions on Embedded Computing Systems (TECS)
Hi-index | 0.00 |
Model Checking is an algorithmic technique to determine whether a temporal property holds of a program. For linear time properties, a model checker produces a counterexample computation if the check fails. This computation acts as a "certificate" of failure, as it can be checked easily and independently of the model checker by simulating it on the program. On the other hand, no such certificate is produced if the check succeeds. In this paper, we show how this asymmetry can be eliminated with a certifying model checker. The key idea is that, with some extra bookkeeping, a model checker can produce a deductive proof on either success or failure. This proof acts as a certificate of the result, as it can be checked mechanically by simple, non-fixpoint methods that are independent of the model checker. We develop a deductive proof system for verifying branching time properties expressed in the mu-calculus, and show how to generate a proof in this system from a model checking run. Proofs for linear time properties form a special case. A model checker that generates proofs can be used for many interesting applications, such as better ways of exploring errors in a program, and a tight integration of model checking with automated theorem proving.