Results 1  10
of
16
A Logic of Reachable Patterns in Linked DataStructures
, 2007
"... We define a new decidable logic for expressing and checking invariants of programs that manipulate dynamicallyallocated objects via pointers and destructive pointer updates. The main feature of this logic is the ability to limit the neighborhood of a node that is reachable via a regular expression ..."
Abstract

Cited by 33 (5 self)
 Add to MetaCart
We define a new decidable logic for expressing and checking invariants of programs that manipulate dynamicallyallocated objects via pointers and destructive pointer updates. The main feature of this logic is the ability to limit the neighborhood of a node that is reachable via a regular expression from a designated node. The logic is closed under boolean operations (entailment, negation) and has a finite model property. The key technical result is the proof of decidability. We show how to express preconditions, postconditions, and loop invariants for some interesting programs. It is also possible to express properties such as disjointness of datastructures, and lowlevel heap mutations. Moreover, our logic can express properties of arbitrary datastructures and of an arbitrary number of pointer fields. The latter provides a way to naturally specify postconditions that relate the fields on the entry of a procedure to the field on the exit of a procedure. Therefore, it is possible to use the logic to automatically prove partial correctness of programs performing lowlevel heap mutations.
Tiburon: A Weighted Tree Automata Toolkit
, 2006
"... The availability of weighted finitestate string automata toolkits made possible great advances in natural language processing. However, recent advances in syntaxbased NLP model design are unsuitable for these toolkits. To combat this problem, we introduce a weighted finitestate tree automata to ..."
Abstract

Cited by 32 (7 self)
 Add to MetaCart
The availability of weighted finitestate string automata toolkits made possible great advances in natural language processing. However, recent advances in syntaxbased NLP model design are unsuitable for these toolkits. To combat this problem, we introduce a weighted finitestate tree automata toolkit, which incorporates recent developments in weighted tree automata theory and is useful for natural language applications such as machine translation, sentence compression, question answering, and many more.
Techniques for scaling up analyses based on preinterpretations
 In Proc. ICLP ’05. LNCS
, 2005
"... Abstract. Any finite tree automaton (or regular type) can be used to construct an abstract interpretation of a logic program, by first determinising and completing the automaton to get a preinterpretation of the language of the program. This has been shown to be a flexible and practical approach t ..."
Abstract

Cited by 10 (2 self)
 Add to MetaCart
(Show Context)
Abstract. Any finite tree automaton (or regular type) can be used to construct an abstract interpretation of a logic program, by first determinising and completing the automaton to get a preinterpretation of the language of the program. This has been shown to be a flexible and practical approach to building a variety of analyses, both generic (such as mode analysis) and programspecific (with respect to a type describing some particular property of interest). Previous work demonstrated the approach using preinterpretations over small domains. In this paper we present techniques that allow the method to be applied to more complex preinterpretations and larger programs. There are two main techniques presented: the first is a novel algorithm for determinising finite tree automata, yielding a compact “product ” form of the transitions of the result automaton, that is often orders of magnitude smaller than an explicit representation of the automaton. Secondly, it is shown how this form (which is a representation of a preinterpretation) can then be input directly to a BDDbased analyser of Datalog programs. We demonstrate through experiments that much more complex analyses become feasible. 1
Knowledge flow analysis for security protocols
, 2005
"... Knowledge flow analysis offers a simple and flexible way to find flaws in security protocols. A protocol is described by a collection of rules constraining the propagation of knowledge amongst principals. Because this characterization corresponds closely to informal descriptions of protocols, it all ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
(Show Context)
Knowledge flow analysis offers a simple and flexible way to find flaws in security protocols. A protocol is described by a collection of rules constraining the propagation of knowledge amongst principals. Because this characterization corresponds closely to informal descriptions of protocols, it allows a succinct and natural formalization; because it abstracts away message ordering, and handles communications between principals and applications of cryptographic primitives uniformly, it is readily represented in a standard logic. A generic framework in the Alloy modelling language is presented, and instantiated for two standard protocols, and a new key management scheme. 1
The CASPA tool: Causalitybased abstraction for security protocol analysis
 In Proceedings of the 20th international conference on Computer Aided Verification (CAV’08), Lecture Notes in Computer Science
, 2008
"... Abstract. CASPA constitutes a pushbutton tool for automatically proving secrecy and authenticity properties of cryptographic protocols. The tool is grounded on a novel technique for causalitybased abstraction of protocol executions that allows establishing proofs of security for an unbounded numbe ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
(Show Context)
Abstract. CASPA constitutes a pushbutton tool for automatically proving secrecy and authenticity properties of cryptographic protocols. The tool is grounded on a novel technique for causalitybased abstraction of protocol executions that allows establishing proofs of security for an unbounded number of concurrent protocol executions in an automated manner. We demonstrate the expressiveness and efficiency of the tool by drawing a comparison with T4ASP, the static analyzer for secrecy properties offered by the AVISPA tool. CASPA is capable of coping with a substantially larger set of protocols, and excels in performance. 1
Narrowing and Rewriting Logic: from Foundations to Applications
, 2006
"... Narrowing was originally introduced to solve equational Eunification problems. It has also been recognized as a key mechanism to unify functional and logic programming. In both cases, narrowing supports equational reasoning and assumes confluent equations. The main goal of this work is to show that ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
Narrowing was originally introduced to solve equational Eunification problems. It has also been recognized as a key mechanism to unify functional and logic programming. In both cases, narrowing supports equational reasoning and assumes confluent equations. The main goal of this work is to show that narrowing can be greatly generalized, so as to support a much wider range of applications, when it is performed with rewrite theories (Σ, E, R), where (Σ, E) is an equational theory, and R is a collection of rewrite rules with no restrictions. Such theories axiomatize concurrent systems, whose states are equivalence classes of terms modulo E, and whose transitions are specified by R. In this context, narrowing is generalized from an equational reasoning technique to a symbolic model checking technique for reachability analysis of a, typically infinite, concurrent system. We survey the foundations of this approach, suitable narrowing strategies, and various applications to security protocol verification, theorem proving, and programming languages.
ProjectTeam Lande Logiciel: ANalyse
"... c t i v it y e p o r t 2008 Table of contents ..."
(Show Context)
ProjectTeam Lande Logiciel: ANalyse
"... c t i v it y e p o r t 2007 Table of contents ..."
(Show Context)