EDBT 2026 Demo / reviewers in the wild / expert
Alan Jeffrey
dblp:89/740 · also Alan S. A. Jeffrey
· DBLP profile ↗
47ranked-venue papers
21as first author
1since 2021 · last 2022
0000-0001-6342-0318ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 27 · 17 first-authorSoftware engineering, systems software and programming languages · 13 · 5 first-author · 1 since 2021Security and privacy · 6Computer networks · 1Databases, data management, data science and information retrieval · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
12 papers |
Concurrent programming · 48% Program verification · 22% Compilers and program optimization · 19% | |
| Network and information security
4 papers |
Hardware security and side channels · 83% Network security · 6% Cryptographic protocols and secure computation · 6% |
Topics — the 30 heaviest of 42, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Concurrent programming
memory models |
1.3 | 3 | 2022 | The leaky semicolon: compositional semantic dependencies for relaxed-memory concurrency · Proc. ACM Program. Lang. 2022 Pomsets with preconditions: a simple model of relaxed memory · Proc. ACM Program. Lang. 2020 On Thin Air Reads Towards an Event Structures Model of Relaxed Memory · LICS 2016 |
Concurrent programming › memory models
weak memory models |
1.3 | 3 | 2022 | The leaky semicolon: compositional semantic dependencies for relaxed-memory concurrency · Proc. ACM Program. Lang. 2022 Pomsets with preconditions: a simple model of relaxed memory · Proc. ACM Program. Lang. 2020 On Thin Air Reads Towards an Event Structures Model of Relaxed Memory · LICS 2016 |
Compilers and program optimization
compiler optimization |
0.7 | 2 | 2020 | Pomsets with preconditions: a simple model of relaxed memory · Proc. ACM Program. Lang. 2020 On Thin Air Reads Towards an Event Structures Model of Relaxed Memory · LICS 2016 |
Program verification
predicate transformers |
0.6 | 1 | 2022 | The leaky semicolon: compositional semantic dependencies for relaxed-memory concurrency · Proc. ACM Program. Lang. 2022 |
Program verification
program logic |
0.6 | 1 | 2022 | The leaky semicolon: compositional semantic dependencies for relaxed-memory concurrency · Proc. ACM Program. Lang. 2022 |
Hardware security and side channels › microarchitectural side channel
microarchitectural leakage modeling |
0.4 | 1 | 2019 | The Code That Never Ran: Modeling Attacks on Speculative Evaluation · IEEE Symposium on Security and Privacy 2019 |
Hardware security and side channels › microarchitectural attacks › transient execution attack › speculative execution attack
spectre |
0.4 | 1 | 2019 | The Code That Never Ran: Modeling Attacks on Speculative Evaluation · IEEE Symposium on Security and Privacy 2019 |
Hardware security and side channels › microarchitectural attacks
transient execution attack |
0.4 | 1 | 2019 | The Code That Never Ran: Modeling Attacks on Speculative Evaluation · IEEE Symposium on Security and Privacy 2019 |
Concurrent programming › concurrency models
event structures |
0.2 | 1 | 2016 | On Thin Air Reads Towards an Event Structures Model of Relaxed Memory · LICS 2016 |
Compilers and program optimization
instruction scheduling |
0.2 | 1 | 2016 | On Thin Air Reads Towards an Event Structures Model of Relaxed Memory · LICS 2016 |
Compilers and program optimization › instruction scheduling
instruction reordering |
0.2 | 1 | 2022 | The leaky semicolon: compositional semantic dependencies for relaxed-memory concurrency · Proc. ACM Program. Lang. 2022 |
Processor architecture and microarchitecture › instruction set architecture › CISC
x86-64 |
0.1 | 1 | 2020 | Pomsets with preconditions: a simple model of relaxed memory · Proc. ACM Program. Lang. 2020 |
Program verification
verification |
0.1 | 1 | 2011 | Robin Milner 1934--2010: verification, languages, and concurrency · POPL 2011 |
Program analysis › static analysis
information flow analysis |
0.1 | 1 | 2019 | The Code That Never Ran: Modeling Attacks on Speculative Evaluation · IEEE Symposium on Security and Privacy 2019 |
Programming languages and type systems
language design |
0.1 | 2 | 2011 | lambda-RBAC: Programming with Role-Based Access Control · ICALP (2) 2006 Robin Milner 1934--2010: verification, languages, and concurrency · POPL 2011 |
Programming languages and type systems › program equivalence
full abstraction |
0.1 | 4 | 2002 | A Fully Abstract May Testing Semantics for Concurrent Objects · LICS 2002 Towards a Theory of Bisimulation for Local Names · LICS 1999 A Fully Abstract Semantics for a Concurrent Functional Language with Monadic Types · LICS 1995 |
Database theory › integrity constraints
XML constraints |
0.1 | 1 | 2008 | Stream firewalling of xml constraints · SIGMOD Conference 2008 |
Authentication and access control › access control
role-based access control |
0.1 | 1 | 2006 | lambda-RBAC: Programming with Role-Based Access Control · ICALP (2) 2006 |
Cryptographic protocols and secure computation › security protocol analysis
spi calculus |
0.1 | 1 | 2006 | Pattern-matching spi-calculus · Inf. Comput. 2006 |
Logic in computer science
process algebra |
0.1 | 1 | 2006 | Pattern-matching spi-calculus · Inf. Comput. 2006 |
Programming languages and type systems › program equivalence
bisimulation |
0.1 | 2 | 2000 | A Theory of Bisimulation for a Fragment of Concurrent ML with Local Names · LICS 2000 Towards a Theory of Bisimulation for Local Names · LICS 1999 |
Programming languages and type systems › language semantics › formal semantics
local names |
0.1 | 2 | 2000 | A Theory of Bisimulation for a Fragment of Concurrent ML with Local Names · LICS 2000 Towards a Theory of Bisimulation for Local Names · LICS 1999 |
Programming languages and type systems › language semantics › formal semantics
operational semantics |
0.0 | 2 | 2002 | A Fully Abstract May Testing Semantics for Concurrent Objects · LICS 2002 A Fully Abstract Semantics for a Concurrent Functional Language with Monadic Types · LICS 1995 |
Programming languages and type systems › language semantics
trace semantics |
0.0 | 1 | 2002 | A Fully Abstract May Testing Semantics for Concurrent Objects · LICS 2002 |
Programming languages and type systems › type systems › polymorphism › parametric polymorphism
bounded polymorphism |
0.0 | 1 | 2001 | A Symbolic Labelled Transition System for Coinductive Subtyping of Fµ< Types · LICS 2001 |
Programming languages and type systems
coinduction |
0.0 | 1 | 2001 | A Symbolic Labelled Transition System for Coinductive Subtyping of Fµ< Types · LICS 2001 |
Programming languages and type systems › type systems
recursive types |
0.0 | 1 | 2001 | A Symbolic Labelled Transition System for Coinductive Subtyping of Fµ< Types · LICS 2001 |
Programming languages and type systems › type systems
subtyping |
0.0 | 1 | 2001 | A Symbolic Labelled Transition System for Coinductive Subtyping of Fµ< Types · LICS 2001 |
Automated reasoning and model checking
symbolic transition systems |
0.0 | 1 | 2001 | A Symbolic Labelled Transition System for Coinductive Subtyping of Fµ< Types · LICS 2001 |
Programming languages and type systems › concurrent programming languages
Concurrent ML |
0.0 | 1 | 2000 | A Theory of Bisimulation for a Fragment of Concurrent ML with Local Names · LICS 2000 |
Methods — techniques the papers use, named apart from their topics
pomsets · 1.6preconditions · 1.4DRF-SC · 0.9compiler optimization analysis · 0.8event-based semantics · 0.6game semantics · 0.2XPath · 0.2DTD · 0.2process algebra · 0.1lambda calculus · 0.1formal methods · 0.1logical relations · 0.0hennessy-milner logic · 0.0domain theory in logical form · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2022 | The leaky semicolon: compositional semantic dependencies for relaxed-memory concurrencyabstractProgram logics and semantics tell a pleasant story about sequential composition: when executing (S1;S2), we first execute S1 then S2. To improve performance, however, processors execute instructions out of order, and compilers reorder programs even more dramatically. By design, single-threaded systems cannot observe these reorderings; however, multiple-threaded systems can, making the story considerably less pleasant. A formal attempt to understand the resulting mess is known as a “relaxed memory model.” Prior models either fail to address sequential composition directly, or overly restrict processors and compilers, or permit nonsense thin-air behaviors which are unobservable in practice. To support sequential composition while targeting modern hardware, we enrich the standard event-based approach with preconditions and families of predicate transformers. When calculating the meaning of (S1; S2), the predicate transformer applied to the precondition of an event e from S2 is chosen based on the set of events in S1 upon which e depends. We apply this approach to two existing memory models. Alan Jeffrey, James Riely, Mark Batty, Simon Cooksey, Ilya Kaysin, Anton Podkopaev |
Proc. ACM Program. Lang. | 1 |
| 2020 | Pomsets with preconditions: a simple model of relaxed memoryabstractRelaxed memory models must simultaneously achieve efficient implementability and thread-compositional reasoning. Is that why they have become so complicated? We argue that the answer is no: It is possible to achieve these goals by combining an idea from the 60s (preconditions) with an idea from the 80s (pomsets), at least for X64 and ARMv8. We show that the resulting model (1) supports compositional reasoning for temporal safety properties, (2) supports all expected sequential compiler optimizations, (3) satisfies the DRF-SC criterion, and (4) compiles to X64 and ARMv8 microprocessors without requiring extra fences on relaxed accesses. Radha Jagadeesan, Alan Jeffrey, James Riely |
Proc. ACM Program. Lang. | 2 |
| 2019 | The Code That Never Ran: Modeling Attacks on Speculative EvaluationabstractThis paper studies information flow caused by speculation mechanisms in hardware and software. The Spectre attack shows that there are practical information flow attacks which use an interaction of dynamic security checks, speculative evaluation and cache timing. Previous formal models of program execution are designed to capture computer architecture, rather than micro-architecture, and so do not capture attacks such as Spectre. In this paper, we propose a model based on pomsets which is designed to model speculative evaluation. The model is abstract with respect to specific micro-architectural features, such as caches and pipelines, yet is powerful enough to express known attacks such as Spectre and Prime+Abort, and verify their countermeasures. The model also allows for the prediction of new information flow attacks. We derive two such attacks, which exploit compiler optimizations, and validate these experimentally against gcc and clang. Craig Disselkoen, Radha Jagadeesan, Alan Jeffrey, James Riely |
IEEE Symposium on Security and Privacy | 3 |
| 2019 | On Thin Air Reads: Towards an Event Structures Model of Relaxed MemoryabstractTo model relaxed memory, we propose confusion-free event structures over an alphabet with a justification relation. Executions are modeled by justified configurations, where every read event has a justifying write event. Justification alone is too weak a criterion, since it allows cycles of the kind that result in so-called thin-air reads. Acyclic justification forbids such cycles, but also invalidates event reorderings that result from compiler optimizations and dynamic instruction scheduling. We propose the notion of well-justification, based on a game-like model, which strikes a middle ground. We show that well-justified configurations satisfy the DRF theorem: in any data-race free program, all well-justified configurations are sequentially consistent. We also show that rely-guarantee reasoning is sound for well-justified configurations, but not for justified configurations. For example, well-justified configurations are type-safe. Well-justification allows many, but not all reorderings performed by relaxed memory. In particular, it fails to validate the commutation of independent reads. We discuss variations that may address these shortcomings. Alan Jeffrey, James Riely |
Log. Methods Comput. Sci. | 1 |
| 2016 | On Thin Air Reads Towards an Event Structures Model of Relaxed MemoryabstractThis is the first paper to propose a pure event structures model of relaxed memory. We propose confusion-free event structures over an alphabet with a justification relation as a model. Executions are modeled by justified configurations, where every read event has a justifying write event. Justification alone is too weak a criterion, since it allows cycles of the kind that result in so-called thin-air reads. Acyclic justification forbids such cycles, but also invalidates event reorderings that result from compiler optimizations and dynamic instruction scheduling. We propose a notion well-justification, based on a game-like model, which strikes a middle ground. Alan Jeffrey, James Riely |
LICS | 1 |
| 2016 | An extensible approach to session polymorphismabstractSession types describe and constrain the input/output behaviour of systems. Existing session typing systems have limited support for polymorphism. For example, existing systems cannot provide the most general type for a generic proxy process that forwards messages between two channels. We provide a polymorphic session typing system for the π calculus, and demonstrate the utility of session-type-level functions in combination with polymorphic session typing. The type system guarantees subject reduction and safety properties, but not deadlock freedom. We describe a formalization of the type system in Coq. The proofs of subject reduction and safety properties, as well as typing of example processes, have been mechanically verified. Matthew A. Goto, Radha Jagadeesan, Alan Jeffrey, Corin Pitcher, James Riely |
Math. Struct. Comput. Sci. | 3 |
| 2013 | Functional reactive programming with liveness guaranteesabstractFunctional Reactive Programming (FRP) is an approach to the development of reactive systems which provides a pure functional interface, but which may be implemented as an abstraction of an imperative event-driven layer. FRP systems typically provide a model of behaviours (total time-indexed values, implemented as pull systems) and event sources (partial time-indexed values, implemented as push systems). In this paper, we investigate a type system for event-driven FRP programs which provide liveness guarantees, that is every input event is guaranteed to generate an output event. We show that FRP can be implemented on top of a model of sets and relations, and that the isomorphism between event sources and behaviours corresponds to the isomorphism between relations and set-valued functions. We then implement sets and relations using a model of continuations using the usual double-negation CPS transform. The implementation of behaviours as pull systems based on futures, and of event sources as push systems based on the observer pattern, thus arises from first principles. We also discuss a Java implementation of the FRP model. Alan Jeffrey |
ICFP | 1 |
| 2013 | Validation and Interactivity of Web API DocumentationabstractMany Web APIs (by which we mean ones using HTTP as the application protocol) do not publish a machine-readable API description (in a language such as WADL or WSDL) but only provide human-readable documentation, usually in HTML. This documentation may be machine-generated, or it may be hand-edited in which case there is the possibility of errors being introduced into the API description. In this paper we present a Web Interface Language (WIfL) vocabulary for API documentation, which is intended to be embedded in HTML using RDFa annotations. We present the semantics of WIfL, including a formal presentation of inheritance and validation. We discuss our WIfL tools, which include a dynamically generated console for interacting with an API's reference implementation, and a validator which can check an API for internal consistency. Peter J. Danielsen, Alan Jeffrey |
ICWS | 2 |
| 2013 | Dependently Typed Web Client Applications - FRP in Agda in HTML5
Alan Jeffrey |
PADL | 1 |
| 2011 | Robin Milner 1934--2010: verification, languages, and concurrencyabstractNo abstract available. Andrew D. Gordon 0001, Robert Harper 0001, John Harrison 0001, Alan Jeffrey, Peter Sewell |
POPL | 4 |
| 2009 | Towards a Theory of Accountability and Audit
Radha Jagadeesan, Alan Jeffrey, Corin Pitcher, James Riely |
ESORICS | 2 |
| 2008 | Stream firewalling of xml constraintsabstractAs XML-based messages have become common in many client-server protocols, there is a need to protect application servers from invalid or dangerous messages. This leads to the XML stream firewalling problem; that of applying integrity constraints against a large number of simultaneous streams. We conduct the first investigation of a constraint engine optimized for the generation of XML stream firewalls. We isolate a class of DTDs and XPath constraints which support the generation of low-space filters, and provide algorithms for generating firewalls with low per-input-character time and per-stream space. We give experimental results which show that we have achieved these goals in practice. Michael Benedikt, Alan Jeffrey, Ruy Ley-Wild |
SIGMOD Conference | 2 |
| 2008 | Lambda-RBAC: Programming with Role-Based Access ControlabstractWe study mechanisms that permit program components to express role constraints on clients, focusing on programmatic security mechanisms, which permit access controls to be expressed, in situ, as part of the code realizing basic functionality. In this setting, two questions immediately arise: (1) The user of a component faces the issue of safety: is a particular role sufficient to use the component? (2) The component designer faces the dual issue of protection: is a particular role demanded in all execution paths of the component? We provide a formal calculus and static analysis to answer both questions. Radha Jagadeesan, Alan Jeffrey, Corin Pitcher, James Riely |
Log. Methods Comput. Sci. | 2 |
| 2008 | Full abstraction for polymorphic pi-calculus
Alan Jeffrey, Julian Rathke |
Theor. Comput. Sci. | 1 |
| 2007 | Efficient and Expressive Tree Filters
Michael Benedikt, Alan Jeffrey |
FSTTCS | 2 |
| 2006 | lambda-RBAC: Programming with Role-Based Access Control
Radha Jagadeesan, Alan Jeffrey, Corin Pitcher, James Riely |
ICALP (2) | 2 |
| 2006 | Pattern-matching spi-calculus
Christian Haack, Alan Jeffrey |
Inf. Comput. | 2 |
| 2006 | Typed parametric polymorphism for aspects
Radha Jagadeesan, Alan Jeffrey, James Riely |
Sci. Comput. Program. | 2 |
| 2005 | Secrecy Despite Compromise: Types, Cryptography, and the Pi-Calculus
Andrew D. Gordon 0001, Alan Jeffrey |
CONCUR | 2 |
| 2005 | Timed Spi-Calculus with Types for Secrecy and Authenticity
Christian Haack, Alan Jeffrey |
CONCUR | 2 |
| 2005 | Java Jr: Fully Abstract Trace Semantics for a Core Java Language
Alan Jeffrey, Julian Rathke |
ESOP | 1 |
| 2005 | Full Abstraction for Polymorphic Pi-Calculus
Alan Jeffrey, Julian Rathke |
FoSSaCS | 1 |
| 2005 | Contextual equivalence for higher-order pi-calculus revisitedabstractThe higher-order pi-calculus is an extension of the pi-calculus to allow communication of abstractions of processes rather than names alone. It has been studied intensively by Sangiorgi in his thesis where a characterisation of a contextual equivalence for higher-order pi-calculus is provided using labelled transition systems and normal bisimulations. Unfortunately the proof technique used there requires a restriction of the language to only allow finite types. We revisit this calculus and offer an alternative presentation of the labelled transition system and a novel proof technique which allows us to provide a fully abstract characterisation of contextual equivalence using labelled transitions and bisimulations for higher-order pi-calculus with recursive types also. Alan Jeffrey, Julian Rathke |
Log. Methods Comput. Sci. | 1 |
| 2005 | A fully abstract may testing semantics for concurrent objects
Alan Jeffrey, Julian Rathke |
Theor. Comput. Sci. | 1 |
| 2004 | µABC: A Minimal Aspect Calculus
Glenn Bruns, Radha Jagadeesan, Alan Jeffrey, James Riely |
CONCUR | 3 |
| 2004 | Types and effects for asymmetric cryptographic protocolsabstractWe present the first type and effect system for proving authenticity properties of security protocols based on asymmetric cryptography. The most significant new features of our type system are: (1) a separation of public types (for data possibly sent to the opponent) from tainted types (for data po ssibly received from the opponent) via a subtype relation; (2) trust effects, to guarantee that tainted data does not, in fact, originate from the opponent; and (3) challenge/response types to support a variety of idioms used to guarantee message freshness. We illustrate the applicability of our system via protocol examples. Andrew D. Gordon 0001, Alan Jeffrey |
J. Comput. Secur. | 2 |
| 2004 | A theory of bisimulation for a fragment of concurrent ML with local names
Alan Jeffrey, Julian Rathke |
Theor. Comput. Sci. | 1 |
| 2003 | A Calculus of Untyped Aspect-Oriented Programs
Radha Jagadeesan, Alan Jeffrey, James Riely |
ECOOP | 2 |
| 2003 | Contextual Equivalence for Higher-Order π-Calculus RevisitedabstractThe higher-order π-calculus is an extension of the π-calculus to allow communication of abstractions of processes rather than names alone. It has been studied intensively by Sangiorgi in his thesis where a characterisation of a contextual equivalence for higher-order π-calculus is provided using labelled transition systems and normal bisimulations. Unfortunately the proof technique used there requires a restriction of the language to only allow finite types. We revisit this calculus and offer an alternative presentation of the labelled transition system and a novel proof technique which allows us to provide a fully abstract characterisation of contextual equivalence using labelled transitions and bisimulations for higher-order π-calculus with recursive types also. Alan Jeffrey, Julian Rathke |
MFPS | 1 |
| 2003 | Authenticity by Typing for Security ProtocolsabstractWe propose a new method to check authenticity properties of cryptographic protocols. First, code up the protocol in the spi-calculus of Abadi and Gordon. Second, specify authenticity properties by annotating the code with correspondence assertions in the style of Woo and Lam. Third, figure out type s for the keys, nonces, and messages of the protocol. Fourth, check that the spi-calculus code is well-typed according to a novel type and effect system presented in this paper. Our main theorem guarantees that any well-typed protocol is robustly safe, that is, its correspondence assertions are true in the presence of any opponent expressible in spi. It is feasible to apply this method by hand to several well-known cryptographic protocols. It requires little human effort per protocol, puts no bound on the size of the opponent, and requires no state space enumeration. Moreover, the types for protocol data provide some intuitive explanation of how the protocol works. This paper describes our method and gives some simple examples. Our method has led us to the independent rediscovery of flaws in existing protocols and to the design of improved protocols. Andrew D. Gordon 0001, Alan Jeffrey |
J. Comput. Secur. | 2 |
| 2003 | Typing correspondence assertions for communication protocols
Andrew D. Gordon 0001, Alan Jeffrey |
Theor. Comput. Sci. | 2 |
| 2002 | Types and Effects for Asymmetric Cryptographic ProtocolsabstractWe present the first type and effect system for proving authenticity properties of security protocols based on asymmetric cryptography. The most significant new features of our type system are: (1) a separation of public types (for data possibly sent to the opponent) from tainted types (for data possibly received from the opponent) via a subtype relation; (2) trust effects, to guarantee that tainted data does not, in fact, originate from the opponent; and (3) challenge/response types to support a variety of idioms used to guarantee message freshness. We illustrate the applicability of our system via protocol examples. Andrew D. Gordon 0001, Alan Jeffrey |
CSFW | 2 |
| 2002 | A Fully Abstract May Testing Semantics for Concurrent ObjectsabstractThis paper provides a fully abstract semantics for a variant of the concurrent object calculus. We define may testing for concurrent object components and then characterise it using a trace semantics inspired by UML interaction diagrams. The main result of this paper is to show that the trace semantics is fully abstract for may testing. This is the first such result for a concurrent object language. Alan Jeffrey, Julian Rathke |
LICS | 1 |
| 2001 | Authenticity by Typing for Security ProtocolsabstractWe propose a new method to check authenticity proper-ties of cryptographic protocols. First, code up the protocol in the spi-calculus of Abadi and Gordon. Second, specify authenticity properties by annotating the code with corre-spondence assertions in the style of Woo and Lam. Third, figure out types for the keys, nonces, and messages of the protocol. Fourth, check that the spi-calculus code is well-typed according to a novel type and effect system presented in this paper. Our main theorem guarantees that any well-typed protocol is robustly safe, that is, its correspondence assertions are true in the presence of any opponent express-ible in spi. 1 Verifying Correspondences by Typing Spi We propose a new method for analysing authenticity Andrew D. Gordon 0001, Alan Jeffrey |
CSFW | 2 |
| 2001 | A Symbolic Labelled Transition System for Coinductive Subtyping of Fµ< TypesabstractF/sub /spl les// is a typed /spl lambda/-calculus with subtyping and bounded polymorphism. Type checking for F/sub /spl les// is known to be undecidable, because the subtyping relation on types is undecidable. F/sub /spl mu//spl les// is an extension of F/sub /spl les// with recursive types. In this paper, we show how symbolic labelled transition system techniques from concurrency theory can be used to reason about subtyping for F/sub /spl mu//spl les//. We provide a symbolic labelled transition system for F/sub /spl mu//spl les// types, together with an appropriate notion of simulation, which coincides with the existing co-inductive definition of subtyping. We then provide a 'simulation up to' technique for proving subtyping, for which there is a simple model-checking algorithm. The algorithm is more powerful than the usual one for F/sub /spl les//, e.g. it terminates on G. Ghelli's (1995) canonical example of non-termination. Alan Jeffrey |
LICS | 1 |
| 2001 | A Type and Effect Analysis of Security Protocols
Andrew D. Gordon 0001, Alan Jeffrey |
SAS | 2 |
| 2001 | SafetyNet: A language-based approach to programmable networks
Ian Wakeman, Alan Jeffrey, Tim Owen, Damyan Pepper |
Comput. Networks | 2 |
| 2000 | A Theory of Bisimulation for a Fragment of Concurrent ML with Local NamesabstractConcurrent ML is an extension of Standard ML with /spl pi/-calculus-like primitives for multi-threaded programming. CML has a reduction semantics, but to date there has been no labelled transitions semantics provided for the entire language. We present a labelled transition semantics for a fragment of CML called /spl mu/vCML which includes features not covered before: dynamically generated local channels and thread identifiers. We show that weak bisimulation for /spl mu/vCML is a congruence, and coincides with barbed bisimulation congruence. We also provide a variant of D. Sangiorgi's (1993) normal bisimulation for /spl mu/vCML, and show that this too coincides with bisimulation. Alan Jeffrey, Julian Rathke |
LICS | 1 |
| 1999 | Towards a Theory of Bisimulation for Local NamesabstractA.M. Pitts and I.D.B. Stark (1998) have proposed the v-calculus as a language for investigating the interaction of unique name generation and higher-order functions. They developed a sound model based on logical relations, but left completeness as an open problem. In this paper, we develop a complete model based on bisimulation for a labelled transition system semantics. We show that bisimulation is complete, but not sound, for the v-calculus. We also show that by adding assignment to the v-calculus, bisimulation becomes sound and complete. The analysis used to obtain this result illuminates the difficulties involved in finding fully abstract models for v-calculus proper. Alan Jeffrey, Julian Rathke |
LICS | 1 |
| 1999 | A Fully Abstract Semantics for a Higher-Order Functional Language with Nondeterministic Computation
Alan Jeffrey |
Theor. Comput. Sci. | 1 |
| 1998 | A Theory of Weak Bisimulation for Core CMLabstractConcurrent ML (CML) is an extension of Standard ML of New Jersey with concurrent features similar to those of process algebra. In this paper, we build upon John Reppy's reduction semantics for CML by constructing a compositional operational semantics for a fragment of CML, based on higher-order process algebra. Using the operational semantics we generalise the notion of weak bisimulation equivalence to build a semantic theory of CML. We give some small examples of proofs about CML expressions, and show that our semantics corresponds to Reppy's up to weak first-order bisimulation. William Ferreira 0001, Matthew Hennessy, Alan Jeffrey |
J. Funct. Program. | 3 |
| 1996 | A Theory of Weak Bisimulation for Core CMLabstractConcurrent ML (CML) is an extension of Standard ML of New Jersey with concurrent features similar to those of process algebra. In this papes we build upon John Reppy's reduction semantics for CML by constructing a compositional operational semantics for a fragment of CML, based on higher-order process algebra. We use this to build a semantic theory for CML, based on weak bisimulation equivalence. We give some small examples of proofs about CML expressions, and show that our semantics corresponds to Reppy's up to weak first-order bisimulation. William Ferreira 0001, Matthew Hennessy, Alan Jeffrey |
ICFP | 3 |
| 1995 | A Fully Abstract Semantics for a Concurrent Functional Language with Monadic TypesabstractThis paper presents a typed higher-order concurrent functional programming language, based on Moggi's monadic metalanguage and Reppy's Concurrent ML. We present an operational semantics for the language, and show that a higher-order variant of the traces model is fully abstract for may-testing. This proof uses a program logic based on Hennessy-Milner logic and Abramsky's domain theory in logical form. Alan Jeffrey |
LICS | 1 |
| 1995 | A Complete Axiomatization of Timed Bisimulation for a Class of Timed Regular Behaviours
Luca Aceto, Alan Jeffrey |
Theor. Comput. Sci. | 2 |
| 1994 | A Fully Abstract Semantics for Concurrent Graph ReductionabstractThis paper presents a fully abstract semantics for a variant of the untyped /spl lambda/-calculus with recursive [Bdeclarations. We first present a summary of existing work on full abstraction for the untyped /spl lambda/-calculus, concentrating on S. Abramsky (1989) and C.H.L. Ong (1988) work on the lazy /spl lambda/-calculus. Abramsky and Ong's work is based on leftmost outermost reduction without sharing. This is notably inefficient, and many implementations model share by reducing syntax graphs rather than syntax trees. Here we present a concurrent graph reduction algorithm for the /spl lambda/-calculus with recursive declarations, in a style similar to G. Berry and G. Boudol's chemical abstract machine. We adapt Abramsky and Ong's techniques, and present a program logic and denotational semantics for the /spl lambda/-calculus with recursive declarations, and show that the three semantics are equivalent.> Alan Jeffrey |
LICS | 1 |
| 1993 | A Chemical Abstract Machine for Graph Reduction
Alan Jeffrey |
MFPS | 1 |
| 1991 | Abstract Timed Observation and Process Algebra
Alan Jeffrey |
CONCUR | 1 |