scispace - formally typeset
Journal ArticleDOI

Symbolic reachability analysis using narrowing and its application to verification of cryptographic protocols

Reads0
Chats0
TLDR
This paper proposes a generalization of narrowing which can be used to solve reachability goals in initial and free models of a rewrite theory ℛ and identifies several large classes of rewrite theories, covering many practical applications, for which narrowing is strongly complete.
Abstract
Narrowing was introduced, and has traditionally been used, to solve equations in initial and free algebras modulo a set of equations E. This paper proposes a generalization of narrowing which can be used to solve reachability goals in initial and free models of a rewrite theory ?. We show that narrowing is sound and weakly complete (i.e., complete for normalized solutions) under appropriate executability assumptions about ?. We also show that in general narrowing is not strongly complete, that is, not complete when some solutions can be further rewritten by ?. We then identify several large classes of rewrite theories, covering many practical applications, for which narrowing is strongly complete. Finally, we illustrate an application of narrowing to analysis of cryptographic protocols.

read more

Citations
More filters
Book ChapterDOI

Maude-NPA: Cryptographic Protocol Analysis Modulo Equational Properties

TL;DR: This tutorial shows the reader how to use Maude-NPA, and how it works, and also gives some of the theoretical background behind the tool.
Journal ArticleDOI

A rewriting-based inference system for the NRL Protocol analyzer and its meta-logical properties

TL;DR: This paper gives for the first time a precise formal specification of the main features of the NPA inference system: its grammar-based techniques for invariant generation and its backwards reachability analysis method.
Book ChapterDOI

Twenty years of rewriting logic

TL;DR: The first three papers on rewriting logic were published in 1990; they were then expanded in [5,6], and many hundreds of papers have been published on the subject since.
Book ChapterDOI

Symbolic model checking of infinite-state systems using narrowing

TL;DR: It is shown how both narrowing and folding can be used to symbolically model check systems which, in addition, have state predicates, and therefore correspond to Kripke structures on which ACTL* and LTL formulas can be algorithmically verified using such finite symbolic abstractions.
Journal Article

Model checking lossy vector addition systems

TL;DR: This work analyzes the decidability of model checking problems for lossy VASS systems and several branching-time and linear-time temporal logics.
References
More filters

Model checking

TL;DR: Model checking tools, created by both academic and industrial teams, have resulted in an entirely novel approach to verification and test case generation that often enables engineers in the electronics industry to design complex systems with considerable assurance regarding the correctness of their initial designs.
Journal ArticleDOI

On the security of public key protocols

TL;DR: Several models are formulated in which the security of protocols can be discussed precisely, and algorithms and characterizations that can be used to determine protocol security in these models are given.
Book ChapterDOI

Construction of Abstract State Graphs with PVS

TL;DR: This paper proposes a method for the automatic construction of an abstract state graph of an arbitrary system using the Pvs theorem prover.
Journal ArticleDOI

Model checking and abstraction

TL;DR: Using techniques similar to those involved in abstract interpretation, an abstract model of a program is constructed without ever examining the corresponding unabstracted model, and it is shown how this abstract model can be used to verify properties of the original program.
Journal ArticleDOI

Conditional rewriting logic as a unified model of concurrency

TL;DR: Maude as discussed by the authors is a programming language whose modules are rewriting logic theories, which is defined and given denotational and operational semantics, and it provides a simple unification of concurrent programming with functional and object-oriented programming and supports high level declarative programming of concurrent systems.
Related Papers (5)