Automatic verification of finite-state concurrent systems using temporal logic specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Cache coherence protocols: evaluation using a multiprocessor simulation model
ACM Transactions on Computer Systems (TOCS)
Limits for automatic verification of finite-state concurrent systems
Information Processing Letters
Formulation of induction formulas in verification of PROLOG programs
Proc. of the 8th international conference on Automated deduction
Automatic inductive theorem proving using PROLOG
Theoretical Computer Science
Communication and concurrency
Reasoning about networks with many identical finite state processes
Information and Computation
An overview of rewrite rule laboratory (RRL)
RTA-89 Proceedings of the 3rd international conference on Rewriting Techniques and Applications
A method for specializing logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Handbook of theoretical computer science (vol. B)
The temporal logic of reactive and concurrent systems
The temporal logic of reactive and concurrent systems
Equivalence-preserving first-order unfold/fold transformation systems
Theoretical Computer Science - Selected papers of the Second International Conference on algebraic and logic programming, Nancy, France, October 1–3, 1990
Reasoning about systems with many processes
Journal of the ACM (JACM)
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A structural induction theorem for processes
Information and Computation
Automatic generation of invariants and intermediate assertions
Theoretical Computer Science - Special issue: principles and practice of constraint programming
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Automatic verification of parameterized linear networks of processes
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Reducing nondeterminism while specializing logic programs
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Verifying parameterized networks
ACM Transactions on Programming Languages and Systems (TOPLAS)
Mechanical Verification of Adder Circuits using Rewrite RuleLaboratory
Formal Methods in System Design
Verifying Systems with Replicated Components in Mur&b.phiv;
Formal Methods in System Design
Checking that finite state concurrent programs satisfy their linear specification
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
An efficient meta-lock for implementing ubiquitous synchronization
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proving Theorems about LISP Functions
Journal of the ACM (JACM)
Foundations of Logic Programming
Foundations of Logic Programming
Computer-Aided Reasoning: An Approach
Computer-Aided Reasoning: An Approach
A New Approach for the Verification of Cache Coherence Protocols
IEEE Transactions on Parallel and Distributed Systems
Proceedings of the 8th International Conference on Computer Aided Verification
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
A Parameterized Unfold/Fold Transformation Framework for Definite Logic Programs
PPDP '99 Proceedings of the International Conference PPDP'99 on Principles and Practice of Declarative Programming
PVS: Combining Specification, Proof Checking, and Model Checking
FMCAD '96 Proceedings of the First International Conference on Formal Methods in Computer-Aided Design
Comparing the Galois Connection and Widening/Narrowing Approaches to Abstract Interpretation
PLILP '92 Proceedings of the 4th International Symposium on Programming Language Implementation and Logic Programming
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
Verifying Properties of Large Sets of Processes with Network Invariants
Proceedings of the International Workshop on Automatic Verification Methods for Finite State Systems
Specification and verification of concurrent systems in CESAR
Proceedings of the 5th Colloquium on International Symposium on Programming
Symbolic Model Checking with Rich ssertional Languages
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
Efficient Model Checking Using Tabled Resolution
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
Automatic Verification of Parameterized Cache Coherence Protocols
CAV '00 Proceedings of the 12th 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
The Murphi Verification System
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
Automatic Verification of Parameterized Synchronous Systems (Extended Abstract)
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
Verifying Invariants Using theorem Proving
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
The Use of Explicit Plans to Guide Inductive Proofs
Proceedings of the 9th International Conference on Automated Deduction
Proceedings of the 10th International Conference on Automated Deduction
A Theorem Prover for a Computational Logic
Proceedings of the 10th International Conference on Automated Deduction
PVS: A Prototype Verification System
CADE-11 Proceedings of the 11th International Conference on Automated Deduction: Automated Deduction
On Model Checking for Non-Deterministic Infinite-State Systems
LICS '98 Proceedings of the 13th Annual IEEE Symposium on Logic in Computer Science
On the Verification of Broadcast Protocols
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
Program transformations for verifying parameterized systems
Program transformations for verifying parameterized systems
Computer Networks: The International Journal of Computer and Telecommunications Networking
An automatic abstraction technique for verifying featured, parameterised systems
Theoretical Computer Science
On one application of computations with oracle
Programming and Computing Software
Reachability as derivability, finite countermodels and verification
ATVA'10 Proceedings of the 8th international conference on Automated technology for verification and analysis
Automating cut-off for multi-parameterized systems
ICFEM'10 Proceedings of the 12th international conference on Formal engineering methods and software engineering
Hi-index | 0.00 |
Verification of distributed algorithms can be naturally cast as verifying parameterized systems, the parameter being the number of processes. In general, a parameterized concurrent system represents an infinite family (of finite state systems) parameterized by a recursively defined type such as chains, trees. It is therefore natural to verify parameterized systems by inducting over this type. However, construction of such proofs require combination of model checking with deductive capability. In this paper, we develop a logic program transformation based proof methodology which achieves this combination. One of our transformations (unfolding) represents a single resolution step. Thus model checking can be achieved by repeated application of unfolding. Other transformations (such as folding) represent deductive reasoning and help recognize the induction hypothesis in an inductive proof. Moreover the unfolding and folding transformations can be arbitrarily interleaved in a proof, resulting in a tight integration of decision procedures (such as model checking) with deductive verification.Based on this technique, we have designed and implemented an invariant prover for parameterized systems. Our proof technique is geared to automate nested induction proofs which do not involve strengthening of induction hypothesis. The prover has been used to automatically verify invariant properties of parameterized cache coherence protocols, including broadcast protocols and protocols with global conditions. Furthermore, we have employed the prover for automatic verification of mutual exclusion in the Java Meta-Locking Algorithm. Meta-Locking is a distributed algorithm developed recently by designers in Sun Microsystems for ensuring secure access of Java objects by an arbitrary number of Java threads.