Results 1  10
of
184
A metanotation for protocol analysis
 in: Proc. CSFW’99
, 1999
"... Most formal approaches to security protocol analysis are based on a set of assumptions commonly referred to as the “DolevYao model. ” In this paper, we use a multiset rewriting formalism, based on linear logic, to state the basic assumptions of this model. A characteristic of our formalism is the w ..."
Abstract

Cited by 166 (38 self)
 Add to MetaCart
(Show Context)
Most formal approaches to security protocol analysis are based on a set of assumptions commonly referred to as the “DolevYao model. ” In this paper, we use a multiset rewriting formalism, based on linear logic, to state the basic assumptions of this model. A characteristic of our formalism is the way that existential quantification provides a succinct way of choosing new values, such as new keys or nonces. We define a class of theories in this formalism that correspond to finitelength protocols, with a bounded initialization phase but allowing unboundedly many instances of each protocol role (e.g., client, server, initiator, or responder). Undecidability is proved for a restricted class of these protocols, and PSPACEcompleteness is claimed for a class further restricted to have no new data (nonces). Since it is a fragment of linear logic, we can use our notation directly as input to linear logic tools, allowing us to do proof search for attacks with relatively little programming effort, and to formally verify protocol transformations and optimizations. 1
Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine Model
 IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
, 1995
"... We are exploring an approach to formally specifying and analyzing software architectures that is based on viewing software systems as chemicals whose reactions are controlled by explicitly stated rules. This powerful metaphor was devised in the domain of theoretical computer science by Banatre and L ..."
Abstract

Cited by 141 (16 self)
 Add to MetaCart
(Show Context)
We are exploring an approach to formally specifying and analyzing software architectures that is based on viewing software systems as chemicals whose reactions are controlled by explicitly stated rules. This powerful metaphor was devised in the domain of theoretical computer science by Banatre and Le M'etayer and then reformulated as the Chemical Abstract Machine, or CHAM, by Berry and Boudol. The CHAM formalism provides a framework for developing operational specifications that does not bias the described system toward any particular computational model. It also encourages the construction and use of modular specifications at different levels of detail. We illustrate the use of the CHAM for architectural description and analysis by applying it to two different architectures for a simple, but familiar, software system, the multiphase compiler.
Shape Types
 IN PROC. 24TH ACM POPL
, 1997
"... Type systems currently available for imperative languages are too weak to detect a significant class of programming errors. For example, they cannot express the property that a list is doublylinked or circular. We propose a solution to this problem based on a notion of shape types defined as contex ..."
Abstract

Cited by 79 (5 self)
 Add to MetaCart
Type systems currently available for imperative languages are too weak to detect a significant class of programming errors. For example, they cannot express the property that a list is doublylinked or circular. We propose a solution to this problem based on a notion of shape types defined as contextfree graph grammars. We define graphs in settheoretic terms, and graph modifications as multiset rewrite rules. These rules can be checked statically to ensure that they preserve the structure of the graph specified by the grammar. We provide a syntax for a smooth integration of shape types in C. The programmer can still express pointer manipulations with the expected constant time execution and benefits from the additional guarantee that the property specified by the shape type is an invariant of the program.
Multiset Rewriting and the Complexity of Bounded Security Protocols
 Journal of Computer Security
, 2002
"... We formalize the DolevYao model of security protocols, using a notation based on multiset rewriting with existentials. The goals are to provide a simple formal notation for describing security protocols, to formalize the assumptions of the DolevYao model using this notation, and to analyze the ..."
Abstract

Cited by 76 (10 self)
 Add to MetaCart
We formalize the DolevYao model of security protocols, using a notation based on multiset rewriting with existentials. The goals are to provide a simple formal notation for describing security protocols, to formalize the assumptions of the DolevYao model using this notation, and to analyze the complexity of the secrecy problem under various restrictions. We prove that, even for the case where we restrict the size of messages and the depth of message encryption, the secrecy problem is undecidable for the case of an unrestricted number of protocol roles and an unbounded number of new nonces. We also identify several decidable classes, including a dexpcomplete class when the number of nonces is restricted, and an npcomplete class when both the number of nonces and the number of roles is restricted. We point out a remaining open complexity problem, and discuss the implications these results have on the general topic of protocol analysis.
The Discrete Time ToolBus  a software coordination architecture
, 1998
"... . The notion of "time" plays an important role when coordinating ..."
Abstract

Cited by 63 (13 self)
 Add to MetaCart
. The notion of "time" plays an important role when coordinating
A Concurrent Logical Framework II: Examples and Applications
, 2002
"... CLF is a new logical framework with an intrinsic notion of concurrency. It is designed as a conservative extension of the linear logical framework LLF with the synchronous connectives # of intuitionistic linear logic, encapsulated in a monad. LLF is itself a conservative extension of LF with the ..."
Abstract

Cited by 59 (35 self)
 Add to MetaCart
(Show Context)
CLF is a new logical framework with an intrinsic notion of concurrency. It is designed as a conservative extension of the linear logical framework LLF with the synchronous connectives # of intuitionistic linear logic, encapsulated in a monad. LLF is itself a conservative extension of LF with the asynchronous connectives #.
Static checking of system behaviors using derived component assumptions
 ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY
, 2000
"... A critical challenge faced by the developer of a software system is to understand whether the system’s components correctly integrate. While type theory has provided substantial help in detecting and preventing errors in mismatched static properties, much work remains in the area of dynamics. In par ..."
Abstract

Cited by 51 (4 self)
 Add to MetaCart
A critical challenge faced by the developer of a software system is to understand whether the system’s components correctly integrate. While type theory has provided substantial help in detecting and preventing errors in mismatched static properties, much work remains in the area of dynamics. In particular, components make assumptions about their behavioral interaction with other components, but currently we have only limited ways in which to state those assumptions and to analyze those assumptions for correctness. We have formulated a method that begins to address this problem. The method operates at the architectural level so that behavioral integration errors, such as deadlock, can be revealed early and at a high level. For each component, a specification is given of its interaction behavior. From this specification, assumptions that the component makes about the corresponding interaction behavior of the external context are automatically derived. We have defined an algorithm that performs compatibility checks between finite representations of a component’s context assumptions and the actual interaction behaviors of the components with which it is intended to interact. A configuration of a system is possible if and only if a successful way of matching actual behaviors with assumptions can be found. The statespace complexity of this algorithm is significantly less than that of comparable approaches, and in the worst case, the time complexity is comparable to the worst case
An Approach to the Formal Verification of Cryptographic Protocols
 In Third ACM Conference on Computer and Communications Security
, 1996
"... We present an approach to the verification of authentication protocols. The approach is based on the use of general purpose formal methods. It is complementary with modal logic basedapproaches as it allows for a description of protocol, hypotheses and authentication properties at a finer level of p ..."
Abstract

Cited by 50 (2 self)
 Add to MetaCart
(Show Context)
We present an approach to the verification of authentication protocols. The approach is based on the use of general purpose formal methods. It is complementary with modal logic basedapproaches as it allows for a description of protocol, hypotheses and authentication properties at a finer level of precision and with more freedom. It differs from formal methods based approaches and in particular from Meadows' approach in that it focuses more on proof conciseness and readability than on proof automatization. To achieve this we use a clear separation between the modeling of reliable agents and that of unreliable agents or more generally of intruders. We also show how to express authentication properties using basic and precise temporal notions. The approach is presented by the mean of an example based on a publickey version of the NeedhamSchroeder protocol.
Distributed Programming with Logic Tuple Spaces
 New Generation Computing
, 1994
"... s are available from the same host in the directory /pub/TR/UBLCS/ABSTRACTS in plain text format. All local authors can be reached via email at the address lastname@cs.unibo.it. UBLCS Technical Report Series 921 Mapping Parallel Computations onto Distributed Systems in Paralex, by O. Babao glu, L ..."
Abstract

Cited by 48 (6 self)
 Add to MetaCart
s are available from the same host in the directory /pub/TR/UBLCS/ABSTRACTS in plain text format. All local authors can be reached via email at the address lastname@cs.unibo.it. UBLCS Technical Report Series 921 Mapping Parallel Computations onto Distributed Systems in Paralex, by O. Babao glu, L. Alvisi, A. Amoroso and R. Davoli, January 1992. 922 Parallel Scientific Computing in Distributed Systems: The Paralex Approach, by L. Alvisi, A. Amoroso, O. Babao glu, A. Baronio, R. Davoli and L. A. Giachini, February 1992. 923 Runtime Support for Dynamic Load Balancing and Debugging in Paralex, by O. Babao glu, L. Alvisi, S. Amoroso, R. Davoli, L. A. Giachini, September 1992. 924 Paralex: An Environment for Parallel Programming in Distributed Systems, by O. Babao glu, L. Alvisi, S. Amoroso, R. Davoli, L. A. Giachini, October 1992. 931 Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanism, by O. Babao glu and K. Marzullo, January 1993. 932 Understand...
Software Architecture Styles as Graph Grammars
 In Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering
, 1996
"... We present a formalism for the definition of software architectures in terms of graphs. Nodes represent the individual agents and edges define their interconnection. Individual agents can communicate only along the links specified by the architecture. The dynamic evolution of the overall architectur ..."
Abstract

Cited by 47 (6 self)
 Add to MetaCart
(Show Context)
We present a formalism for the definition of software architectures in terms of graphs. Nodes represent the individual agents and edges define their interconnection. Individual agents can communicate only along the links specified by the architecture. The dynamic evolution of the overall architecture is defined independently by a `coordinator'. An architecture style is a class of architectures characterised by a graph grammar. The rules of the coordinator are statically checked to ensure that they preserve the constraints imposed by the architecture style. Keywords: coordination, graph rewriting, software architecture, static verification. 1 Motivation and approach Software systems tend to grow in size and complexity; they are often developed through a long period of time and become extremely difficult to understand and to maintain. The cost incurred by this complexity is becoming a serious concern and a major challenge today is to provide ways of organising software in order to make...