|
Summer - Fall 2000 Seminars
We have seminars together with Logic and Computation Group
each Monday at 4:30PM
University of Pennsylvania, Moore 554
-
Dec11, 2000
Multiset Rewriting and the Complexity of Bounded Protocols. Part 2
Andre Scedrov, University of Pennsylvania
-
Dec 4, 2000
Multiset Rewriting and the Complexity of Bounded Protocols. Part 1
Andre Scedrov, University of Pennsylvania
-
Nov 27, 2000
The Church-Rosser Technique and
a High-School Proof for Euler's Partition Theorem
Max Kanovich, University of Pennsylvania
-
Nov 20, 2000
Automata for Event Monitoring
Karthikeyan Bhargavan, University of Pennsylvania
-
Nov 13, 2000
Fault Origin Adjudication
Karthikeyan Bhargavan, University of Pennsylvania
-
Nov 6, 2000
Verisim: Formal Analysis of Network Simulations
Carl A. Gunter, University of Pennsylvania
-
Oct 30, 2000
Undecidability of Monadic Horn Theories
based on Linear and Affine Logics.
Max Kanovich, University of Pennsylvania
-
Oct 23, 2000
Automatic Abstraction through Syntactic Program Transformations
Kedar Namjoshi, Bell Labs
-
Oct 16, 2000
A Reference Model for Requirements and Specifications
Carl A. Gunter,
University of Pennsylvania
-
Sep 25, 2000
Relating Cryptography and Polymorphism
Eijiro Sumii, University of Pennsylvania
-
Sep 11, 2000
Advanced Module Systems: A Guide for the Perplexed
Benjamin Pierce,
University of Pennsylvania
-
Aug 28, 2000
Deriving operational congruences for reactive systems
James Leifer, Cambridge University
-
Aug 14, 2000 in Moore 556
Logic-based design and synthesis of controllers for hybrid systems
Jen Davoren, Australian National University, Canberra
-
Thursday, Aug 10, 2000 in Moore 556
Dependently Types Records for Representing Mathematical Structure
Randy Pollack, University of Durham
-
Thursday, Jul 27, 2000 at 3:00 in Moore 554
Automatic Verification of Parameterized Cache Coherence Protocols
Giorgio Delzanno, DISI - University of Genova
Multiset Rewriting and the Complexity of Bounded Protocols
Andre Scedrov, University of Pennsylvania
Monday, December 4, 2000, 4:30 PM Part 1
Monday, December 11, 2000, 4:30 PM Part 2
Moore 554
Most current formal approaches to the analysis of cryptographic protocols
use the same basic model of adversary capabilities, which appears to have
developed from positions taken by Needham and Schroeder and a model
presented by Dolev and Yao. In this idealized setting, a protocol
adversary is allowed to nondeterministically choose among possible actions.
Messages are composed of indivisible abstract values, not sequences of bits,
and encryption is modeled in an idealized way. Adversary may only send
messages comprised of data it "knows" as the result of overhearing previous
messages.
Perhaps the simplest interpretation of protocol transitions is to
consider them as a form of rewriting, so that protocol execution could
be carried out symbolically. In addition to rewriting to effect state
transitions, one also needs a way to choose new values, such as nonces
or keys. While this seems difficult to achieve directly in standard
rewriting formalisms, the logical inference rules associated with
existential quantification appear to be just what is required.
Therefore, we have adopted a notation that may be regarded as
an extension of multiset rewriting with existential quantification.
This formalism is closely related to the so-called existential Horn
fragment of linear logic.
Using this formalism, it is shown that protocol security is undecidable
even when rather severe restrictions are placed on protocols. In particular,
even if data constructors, message depth, message width, number of distinct
roles, role length, and depth of encryption are bounded by constants, secrecy
is an undecidable property. If protocols are further restricted to have no
new data (nonces), then secrecy is DEXPTIME-complete. If, in addition,
the number of roles is bounded, then secrecy is NP-complete. Hardness is
obtained by encoding decision problems from existential Horn theories
without function symbols into our protocol framework. The way that encryption
and adversary behavior are used in the reduction shed some light on protocol
analysis.
This is joint work with Cervesato, Durgin, Lincoln, and Mitchell
(12-th IEEE Computer Security Foundations Workshop, 1999).
Back to seminars list
The Church-Rosser Technique and
a High-School Proof for Euler's Partition Theorem
Max Kanovich, University of Pennsylvania
Monday, November 27, 2000, 4:30 PM Moore 554
This topic has been arisen in my 500 course "Programming Languages
and Techniques". It has been inspired by the homework problem by
Peter Buneman - that of writing down a recurrence relation
for the number of partitions of n in which
(a) all the parts are odd, (e.g. 10 = 3+3+1+1+1+1),
(b) all the parts are distinct, (e.g. 10 = 6+4).
Notwithstanding the different recurrence relations,
the Euler's generating functions provide us with the same numbers
of odd partitions and distinct partitions for a given n.
The next question is to find an explicit bijection between
partitions into odd parts and partitions into distinct parts.
Kathy O'Hara came up with the bijective proof based on
the following 'local' transformations:
1+1->2, 2+2->4, 3+3->6, 4+4->8, 5+5->10, ...
E.g., 3+3+1+1+1+1 -> 3+3+2+1+1 -> 6+2+1+1 -> 6+2+2 -> 6+4
The key to her approach is that the mapping that it produces
is an actual total bijection, in particular, it is independent
of the order in which the transformations are chosen -
"but this requires a good deal of effort to prove"
(cited from Herbert Wilf's "Lectures on Integer Partitions")
For a big variety of partition problems,
I will show a direct and transparent proof of that
we get the desired bijection:
(1) whatever sequence of the 'local' transformations terminates,
(2) whatever terminated sequence of the 'local' transformations
yields one and the same result,
(3) whatever sequence of the inverse 'local' transformations
terminates,
(4) and, whatever terminated sequence of the inverse 'local'
transformations yields one and the same result.
Back to seminars list
Automata for Event Monitoring
Karthikeyan Bhargavan, University of Pennsylvania
Monday, November 20, 2000, 4:30 PM Moore 554
We consider the problem of monitoring an interactive device,
such as an implementation of a network protocol, in order to check
whether its execution is consistent with its specification. At first
glance, it appears that a monitor could simply follow the input-output
trace of the device and check it against the specification. However,
if the monitor is able to observe inputs and outputs only from a
vantage point externa} to the device---as is typically the
case---the problem becomes surprisingly difficult. This is because
events may be buffered, and even lost, between the monitor and the
device, in which case, even for a correctly running device, the trace
observed at the monitor could be inconsistent with the specification.
In this paper, we formulate the problem of external monitoring as a
language recognition problem. Given a specification that
accepts a certain language of input-output sequences, we define
another language that corresponds to input-output sequences observable
externally. We also give an algorithm to check membership of a string
in the derived language. It turns out that without any assumptions on
the specification, this algorithm may take unbounded time and space.
To address this problem, we define a series of properties of device
specifications or protocols that can be exploited to construct
efficient language recognizers at the monitor. We characterize these
properties and provide complexity bounds for monitoring in each
case.
To illustrate our methodology, we describe properties of the Internet
Transmission Control Protocol (TCP), and identify features of the
protocol that make it challenging to monitor efficiently.
Joint work with Satish Chandra, Pete McCann, Carl Gunter.
Back to seminars list
Fault Origin Adjudication
Karthikeyan Bhargavan, University of Pennsylvania
Monday, November 13, 2000, 4:30 PM Moore 554
It is generally accepted that non-trivial computer programs will have
faults. It is also well known that faults can derive from each of
several stages of the software engineering lifecycle. For instance, a
program P may deviate from its detailed specification S. But it
is also possible that the specification S was incorrect because it
failed to ensure high-level user requirements R. In this paper we
introduce a technique for automated analysis to determine which of
these two possibilities obtains, assuming that high-level requirements
have been properly expressed and a deviation from them has been found.
We call this process Fault Origin Adjudication (FOA).
To see a characteristic example, suppose a development project is
implementing a standard specification S of a communication
protocol. This protocol is expected to have a property R, but
testing of the program reveals that the program fails to satisfy R
for some test input W. Clearly the problem needs to be repaired,
but the way it needs to be repaired depends on the origin of
the fault. If the program does not conform to the standard, then this
may be the cause of the failure: the program should be revised to
conform. This conformance should ensure interoperability with other
implementations of S. Moreover, the design of S was probably
intended to guide the implementor to a program that satisfies R.
However, if the standard does not ensure the requirement, then the
standard specification may be the origin of the difficulty. In the
worst case, no conformant implementation of the standard will satisfy
the property R. In a less extreme case, there is a risk that some
implementations will conform with the standard but not satisfy R,
leading to potential failures. Thus, if the fault lies with S,
then the matter needs to be referred to the standards body and a
revision of S should be made.
We demonstrate how the SPIN Model Checking Environment can be used
along-side a trace generation utility like NS, to carry out Fault
Origin Adjudication for Network Protocols.
Joint work with Carl Gunter, Davor Obradovic
Back to seminars list
Verisim: Formal Analysis of Network Simulations
Monday, November 6, 2000, 4:30 PM Moore 554
Network protocols are often analyzed using simulations. We
demonstrate how to extend such simulations to check propositions
expressing safety properties of network event traces in an extended
form of linear temporal logic. Our technique uses the NS simulator
together with a component of the Java MaC system to provide a uniform
framework. We demonstrate its effectiveness by analyzing simulations
of the Ad Hoc On-Demand Distance Vector (AODV) routing protocol for
packet radio networks. Our analysis finds violations of significant
properties, and we discuss the faults that cause them. Novel aspects
of our approach include modest integration costs with other simulation
objectives such as performance evaluation, greatly increased
flexibility in specifying properties to be checked, and techniques for
analyzing complex traces of alarms raised by the monitoring software.
This is joint work with Karthikeyan Bhargavan, Moonjoo Kim, Insup Lee,
Davor Obradovic, Oleg Sokolsky, and Mahesh Viswanathan.
Back to seminars list
Undecidability of Monadic Horn Theories based on Linear and Affine Logics.
Max Kanovich University of Pennsylvania
Monday, October 30, 2000, 4:30 PM Moore 554
Horn theories based on certain refined logical systems
(as linear logic and affine logic)
have been proven to be adequate logical formalisms for
AI planning problems, (timed) transition systems,
protocol analysis, and, furthermore, game winning strategies.
As for the propositional case, we know that the pure
Horn fragment of linear logic is equivalent to the Petri nets,
and, hence, it is decidable.
The general first-order case is undecidable by the classical
reasons of the undecidable first-order classical logic.
As for the monadic case, contrary to what might have been
expected (due to Buchi, Rabin),
we prove the following undecidability results:
- there is an undecidable pure Horn theory based on linear logic,
which has no functional symbols at all, and
Back to seminars list
Automatic Abstraction through Syntactic Program Transformations
Kedar Namjoshi Bell Labs
Monday, October 23, 2000, 4:30 PM Moore 554
I will present an algorithm that constructs a finite-state abstract
program from a given, possibly infinite-state, concrete program by means of syntactic program transformations. Starting with an initial
set of predicates from a specification, the algorithm iteratively computes the predicates required to produce an abstraction relative to
that specification. These predicates are represented by boolean variables in the finite-state abstract program.
We show that the method is sound, in that the abstract program is
always guaranteed to simulate the original. We also show that the method is complete, in that, if the concrete program has a finite
abstraction with respect to simulation (bisimulation) equivalence, the algorithm can produce a finite simulation-equivalent
(bisimulation-equivalent) abstract program. Syntactic abstraction has two key advantages: it can be applied to infinite state programs or to
programs with large data domains, and it permits the effective application of other reduction methods for model checking. We show
that our method generalizes several known algorithms for analyzing syntactically restricted, data-insensitive programs.
Joint work with Bob Kurshan, Bell Labs
Back to seminars list
A Reference Model for Requirements and Specifications
Monday, October 16, 2000, 4:30 PM
Moore 554
I will describe some new results on modeling software engineering
artifacts using the WRSPM reference model. The first goal is to give a precise characterization of the refinement conditions for turning a set
of requirements into a program via a set of specifications. The key issue is transitivity, ensuring that if the program satisfies the
software specification and the specification reduces the user requirements to the language of the programmers, then the program
implements the requirements. The second goal is to translate the conditions of the WRSPM model into the form of the Functional
Documentation (FD) model of Parnas and Madey. This model, also known as the "Four Variables Model" has been used for the analysis of avionic
systems and nuclear power plants. The translation of WRSM shows gaps in the FD model which allow the conditions of the model to be satisfied by
an inconsistent refinement. We show the flaw and show how it is addressed by the translation of the WRSPM conditions.
This is joint work with Elsa L. Gunter, Michael Jackson, and Pamela
Zave.
Back to seminars list
Relating Cryptography and Polymorphism
Eijiro Sumii
University of Pennsylvania
Monday, September 25, 2000, 4:30 PM
Moore 556
Cryptography is information hiding. Polymorphism is also information hiding. So is cryptography polymorphic? Is polymorphism cryptographic?
To investigate these questions, we define the _cryptographic lambda-calculus_, a simply typed lambda-calculus with shared-key cryptographic primitives. Although this calculus is simply typed, it is powerful enough to encode recursive functions, recursive types, and dynamic typing. We then develop a theory of relational parametricity for our calculus as Reynolds did for the polymorphic lambda-calculus.
This theory is useful for proving equivalences in our calculus; for instance, it implies the non-interference property: values encrypted by a key cannot be distinguished from one another by any function ignorant of the key. We close with an encoding of the polymorphic lambda-calculus into the cryptographic calculus that uses cryptography to protect type abstraction.
Our results shed a new light upon the relationship between cryptography and polymorphism, and offer a first step toward extending programming idioms based on type abstraction (such as modules and packages) from the civilized world of polymorphism, where only well-typed programs are allowed, to the unstructured world of cryptography, where friendly programs must cohabit with malicious attackers.
Joint work with Benjamin Pierce. A full paper is available.
Back to seminars list
Advanced Module Systems: A Guide for the Perplexed
Monday, September 11, 2000, 4:30 PM
Moore 556
The past three decades have seen a plethora of language features for large-scale software composition. Some of these are fairly simple, others quite sophisticated. Each embodies an implicit claim that its particular combination of features is both necessary and sufficient for some problem domain. But there have been few attempts to compare module systems, or to explain the practical and theoretical issues that motivate the choices they embody. This can make it difficult to evaluate which features are really needed for a given setting, and which may be overkill. We offer here an overview of the design space of module systems, with reference to those of some well-known languages (especially the ML family and Java), and record the motivating examples and crucial design choices underlying some central features. In particular:
* we identify a fundamental distinction between unresolved, resolved, and generic references between modules;
* we compare different ways of handling families of interfaces (in particular, abstracted vs. augmented interfaces);
* we investigate the need for coherence (or "sharing'') constraints and consider different ways of expressing them;
* we confirm a folk theorem that sharing by parameterization doesn't scale as well as sharing by specification; and
* we explain the significance of the phase distinction for the design of first- and second-class module systems, and the distinctions between first-order and higher-order variants of second-class systems.
Joint work with Bob Harper.
Back to seminars list
Deriving operational congruences for reactive systems
James Leifer
Cambridge University
Monday, August 28, 2000, 4:30 PM
Moore 556
Assigning mathematical interpretations (semantics) to computer programs allows us to prove that code is correct with respect to a specification, to make precise how a compiler works and what optimisations are valid, to compare language features, etc. Many interpretations exist for sequential computation and typically model a (deterministic) program as a function from memories to memories that
maps each state to the one that holds after the program executes.
The situation is more complex when considering parallel computation, and, in particular, languages presented in terms of reaction rules
(characterising the primitive interactions) that cater for communication, distribution, mobility, and security. It is a major challenge to find a compositional semantic interpretation (one that respects the constructions of the language) and, in practice, is either impossible or accomplished in an ad hoc manner with a difficult hand-crafted proof of compositionality bolted on.
I describe new work that begins to address this challenge. I first show how to derive uniformly a labelled transition system (LTS) from a set of reaction rules, taking the labels, or
"observations'', to be those contexts which are just large enough to enable a reaction: a program undergoes a labelled transition exactly when it requires the entire label to react. The key contribution is the precise definition of
"just large enough'' in terms of the categorical notion of relative
pushout. I prove using some lightweight reasoning that operational equivalences built from the LTS such as strong and weak bisimilarity and trace equivalence are congruences. Thus the semantic interpretation of programs in terms of these equivalences is guaranteed to be compositional. I conclude by touching on some future work.
Joint work with Robin Milner.
Back to seminars list
Logic-based design and synthesis of controllers for hybrid systems
Jen Davoren
Australian National University, Canberra
Monday, August 14, 2000 4:30 PM
Moore 556
Hybrid systems are heterogeneous dynamical systems characterized by a non-trivial interaction of continuous and discrete dynamics, and typically arise in the embedded software control of physical processes. The widely accepted hybrid automaton model consists of a finite collection of continuous systems defined by differential equations, over a common state space, together with a mechanism which decides when and how the system can switch between these continuous sub-systems. We consider the following type of control problem. Given a finite collection of continuous systems, design and build a hybrid automaton model for that collection so that every hybrid trajectory of the resulting system is guaranteed to satisfy a given list of performance specifications. One novelty of our work is that in addition to the well-studied classes of safety and liveness properties of hybrid trajectories, we also address a quite general class of event sequence properties, by which one can enforce positive behavioural requirements on hybrid trajectories. We develop an abstract algorithm to solve this control problem for which we can guarantee finite termination. A central idea is that in tackling the problem, one needs to reason about sets of continuous states, and to build up complex sets of states using operators on sets induced by the given continuous flows and data from the specifications. We demonstrate how such reasoning and construction of sets can be cleanly and naturally formalized in the language of modal logic. The benefits of using the technical tool of modal logic are two-fold. First, it gives us a formal language in which to formulate our solution algorithm. Second, a proof of correctness can transparently be derived from a theory of modal formulas that are true of any hybrid automaton solution purely in virtue of the statement of the algorithm. The abstract algorithm will be illustrated via a simple example, with output generated by our prototype software implementation.
(Joint work with Dr. Thomas Moor, RSISE, ANU)
Short bio: Jen Davoren is a research fellow in the Computer Sciences Laboratory at the Research School of Information Sciences and Engineering at the Australian National University. She has a PhD in mathematics and an MSc in computer science from Cornell University, after undergraduate studies in mathematics and philosophy at the University of Melbourne, Australia. Prior to starting at the ANU last September, she had a postdoc position at Cornell with extended visits to the Dept. EECS at
U.C. Berkeley.
Back to seminars list
Dependently Types Records for Representing Mathematical Structure
Randy Pollack
University of Durham
Thursday, Aug 10, at 3:00 PM
Moore 556
Randy will be visiting the CIS department on Thursday and Friday. Please contact
bcpierce@cis.upenn.edu if you'd like to meet with him. His LCS seminar will continue informally during the PL Club lunch on Friday (12:30-2, in the Theory Lab).
It is folklore that dependently typed tuples suffice to formalize abstract mathematical structures such as semi-group,
monoid, group, ring, field, ... We want natural properties of informal mathematical language to be preserved; e.g. inheritance of properties and sharing of substructures. There is a big literature on the related topic of programming language modules.
This talk develops a notion of dependently typed records by adding field labels to Sigma types. Some obscure features from the literature are simplified and explained. E.g. field variables (local) vs field labels (global) are explained by ordinary lambda-binding. Subtyping is orthogonal to records, and is introduced using Luo's coercive
subtyping. (Hence I do not explain the subtyping system in detail, but only show some examples.)
I discuss the two standard approaches to sharing substructures: "Pebble style" and "manifest types" (ML style). By example, I argue that we really do need manifest types to formalize mathematics. I extend dependently typed records to include manifest types and the "with" notation for adding manifest information to an existing signature.
Most recently, I have been able to directly program records with first-class labels, dependent, manifest signatures and "with" in type theory, using Dybjer's "inductive-recursive" definition. All of the rules (projection,
subtyping, "value rules", definition of "with") are derivable from the inductive-recursive definition, which has only three constructors and three corresponding computation rules.
A preliminary paper is available
Back to seminars list
Automatic Verification of Parameterized Cache Coherence Protocols
Giorgio Delzanno
DISI - University of Genova
Thursday, July 24, 2000, 3:00 PM
Moore 554
We propose a new method for the verification of parameterized
cache coherence protocols.
Cache coherence protocols are used to maintain data consistency in multiprocessor systems equipped with local fast caches.
In our approach we use arithmetic constraints to model possibly infinite sets of global states of a multiprocessor system with many identical caches.
In preliminary experiments using symbolic model checkers for infinite-state systems based on real arithmetics (HyTech and DMC
we have automatically verified safety properties for parameterized versions of widely implemented write-invalidate and write-update
cache coherence policies like the Mesi, Berkeley, Illinois, Firefly and Dragon protocols.
With this application, we show that symbolic model checking tools originally designed for hybrid and concurrent systems can be applied
successfully to a new class of infinite-state systems of practical interest.
Back to seminars list
Back to seminars home page
|