Demo Data from EDBT 2026 / reviewers in the wild / expert
James Riely
dblp:04/522
· DBLP profile ↗
38ranked-venue papers
6as first author
1since 2021 · last 2022
0000-0002-8731-1463ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 17 · 3 first-author · 1 since 2021Theory of computation · 15 · 2 first-authorSecurity and privacy · 6Artificial intelligence and machine learning · 1 · 1 first-authorSystems, architecture and hardware · 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
10 papers |
Concurrent programming · 68% Program verification · 15% Compilers and program optimization · 14% | |
| Computer architecture, parallel and distributed computing, and storage systems
7 papers |
Distributed systems · 90% Processor architecture and microarchitecture · 9% Parallel and multicore computing · 0% | |
| Network and information security
6 papers |
Hardware security and side channels · 89% Authentication and access control · 8% Systems and software security · 4% |
Topics — the 30 heaviest of 41, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Concurrent programming
memory models |
2.0 | 5 | 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 Modular transactions: bounding mixed races in space and time · PPoPP 2019 |
Concurrent programming › memory models
weak memory models |
1.6 | 4 | 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 Transactions in relaxed memory architectures · Proc. ACM Program. Lang. 2018 |
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 |
Distributed systems
consistency models |
0.4 | 2 | 2015 | From Sequential Specifications to Eventual Consistency · ICALP (2) 2015 Between Linearizability and Quiescent Consistency - Quantitative Quiescent Consistency · ICALP (2) 2014 |
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 › transactional memory
software transactional memory |
0.4 | 1 | 2019 | Modular transactions: bounding mixed races in space and time · PPoPP 2019 |
Concurrent programming › transactional memory
transactional memory semantics |
0.4 | 1 | 2019 | Modular transactions: bounding mixed races in space and time · PPoPP 2019 |
Concurrent programming › transactional memory
hardware transactional memory |
0.3 | 1 | 2018 | Transactions in relaxed memory architectures · Proc. ACM Program. Lang. 2018 |
Concurrent programming
transactional memory |
0.3 | 1 | 2018 | Transactions in relaxed memory architectures · Proc. ACM Program. Lang. 2018 |
Distributed systems
distributed coordination |
0.3 | 2 | 2018 | From Sequential Specifications to Eventual Consistency · ICALP (2) 2015 Transactions in relaxed memory architectures · Proc. ACM Program. Lang. 2018 |
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 |
Distributed systems › consistency models
eventual consistency |
0.2 | 1 | 2015 | From Sequential Specifications to Eventual Consistency · ICALP (2) 2015 |
Distributed systems › consistency models
linearizability |
0.2 | 1 | 2014 | Between Linearizability and Quiescent Consistency - Quantitative Quiescent Consistency · ICALP (2) 2014 |
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 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 |
Distributed systems › transaction processing
transaction semantics |
0.1 | 1 | 2018 | Transactions in relaxed memory architectures · Proc. ACM Program. Lang. 2018 |
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 |
Programming languages and type systems
language design |
0.1 | 1 | 2006 | lambda-RBAC: Programming with Role-Based Access Control · ICALP (2) 2006 |
Concurrent programming › concurrency theory › process calculi
pi-calculus |
0.0 | 2 | 1999 | Trust and Partial Typing in Open Systems of Mobile Agents · POPL 1999 A Typed Language for Distributed Mobile Processes (Extended Abstract) · POPL 1998 |
Concurrent programming › concurrency theory
process calculi |
0.0 | 2 | 1999 | Trust and Partial Typing in Open Systems of Mobile Agents · POPL 1999 A Typed Language for Distributed Mobile Processes (Extended Abstract) · POPL 1998 |
Programming languages and type systems
type systems |
0.0 | 2 | 1999 | Trust and Partial Typing in Open Systems of Mobile Agents · POPL 1999 A Typed Language for Distributed Mobile Processes (Extended Abstract) · POPL 1998 |
Programming languages and type systems › type systems › security type systems
information-flow type systems |
0.0 | 1 | 2002 | Information flow vs. resource access in the asynchronous pi-calculus · ACM Trans. Program. Lang. Syst. 2002 |
Programming languages and type systems › type systems
security type systems |
0.0 | 1 | 2002 | Information flow vs. resource access in the asynchronous pi-calculus · ACM Trans. Program. Lang. Syst. 2002 |
Systems and software security
information flow control |
0.0 | 1 | 2000 | Information Flow vs. Resource Access in the Asynchronous Pi-Calculus · ICALP 2000 |
Methods — techniques the papers use, named apart from their topics
pomsets · 1.6preconditions · 1.4DRF-SC · 0.9compiler optimization analysis · 0.8abstraction theorem · 0.7event-based semantics · 0.6formal semantics · 0.4compiler optimization · 0.4game semantics · 0.2formal specification · 0.2quantitative analysis · 0.2lambda calculus · 0.1process algebra · 0.0may testing · 0.0failure semantics · 0.0asynchronous pi-calculus · 0.0static type checking · 0.0dynamic type-checking · 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. | 2 |
| 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. | 3 |
| 2019 | Modular transactions: bounding mixed races in space and timeabstractWe define local transactional race freedom (LTRF), which provides a programmer model for software transactional memory. LTRF programs satisfy the SC-LTRF property, thus allowing the programmer to focus on sequential executions in which transactions execute atomically. Unlike previous results, SC-LTRF does not require global race freedom. We also provide a lower-level implementation model to reason about quiescence fences and validate numerous compiler optimizations. Brijesh Dongol, Radha Jagadeesan, James Riely |
PPoPP | 3 |
| 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 | 4 |
| 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. | 2 |
| 2018 | Eventual Consistency for CRDTsabstractWe address the problem of validity in eventually consistent (EC) systems: In what sense does an EC data structure satisfy the sequential specification of that data structure? Because EC is a very weak criterion, our definition does not describe every EC system; however it is expressive enough to describe any Convergent or Commutative Replicated Data Type (CRDT). Radha Jagadeesan, James Riely |
ESOP | 2 |
| 2018 | On abstraction and compositionality for weak-memory linearisability
Brijesh Dongol, Radha Jagadeesan, James Riely, Alasdair Armstrong |
VMCAI | 3 |
| 2018 | Transactions in relaxed memory architecturesabstractThe integration of transactions into hardware relaxed memory architectures is a topic of current research both in industry and academia. In this paper, we provide a general architectural framework for the introduction of transactions into models of relaxed memory in hardware, including the SC, TSO, ARMv8 and PPC models. Our framework incorporates flexible and expressive forms of transaction aborts and execution that have hitherto been in the realm of software transactional memory. In contrast to software transactional memory, we account for the characteristics of relaxed memory as a restricted form of distributed system, without a notion of global time. We prove abstraction theorems to demonstrate that the programmer API matches the intuitions and expectations about transactions. Brijesh Dongol, Radha Jagadeesan, James Riely |
Proc. ACM Program. Lang. | 3 |
| 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 | 2 |
| 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. | 5 |
| 2015 | From Sequential Specifications to Eventual Consistency
Radha Jagadeesan, James Riely |
ICALP (2) | 2 |
| 2014 | Certificates for Verifiable ForensicsabstractDigital forensics reports typically document the search process that has led to a conclusion, the primary means to verify the report is to repeat the search process. We believe that, as a result, the Trusted Computing Base for digital forensics is unnecessarily large and opaque. We advocate the use of forensic certificates as intermediate artifacts between search and verification. Because a forensic certificate has a precise semantics, it can be verified without knowledge of the search process and forensic tools used to create it. In addition, this precision opens up avenues for the analysis of forensic specifications. We present a case study using the specification of a deleted file. We propose a verification architecture that addresses the enormous size of digital forensics data sets. As a proof of concept, we consider a computer intrusion case study, drawn from the Honey net project. Our Coq formalization yields a verifiable certificate of the correctness of the underlying forensic analysis. Radha Jagadeesan, C. M. Lubinski, Corin Pitcher, James Riely, Charles Winebrinner |
CSF | 4 |
| 2014 | Between Linearizability and Quiescent Consistency - Quantitative Quiescent Consistency
Radha Jagadeesan, James Riely |
ICALP (2) | 2 |
| 2013 | Quarantining Weakness - Compositional Reasoning under Relaxed Memory Models (Extended Abstract)
Radha Jagadeesan, Gustavo Petri, Corin Pitcher, James Riely |
ESOP | 4 |
| 2012 | Succour to the Confused Deputy - Types for Capabilities
Radha Jagadeesan, Corin Pitcher, James Riely |
APLAS | 3 |
| 2012 | Brookes Is Relaxed, Almost!
Radha Jagadeesan, Gustavo Petri, James Riely |
FoSSaCS | 3 |
| 2011 | Local Memory via Layout RandomizationabstractRandomization is used in computer security as a tool to introduce unpredictability into the software infrastructure. In this paper, we study the use of randomization to achieve the secrecy and integrity guarantees for local memory. We follow the approach set out by Abadi and Plot kin. We consider the execution of an idealized language in two environments. In the strict environment, opponents cannot access local variables of the user program. In the lax environment, opponents may attempt to guess allocated memory locations and thus, with small probability, gain access the local memory of the user program. We model these environments using two novel calculi: lambda-mu-hashref and lambda-mu-proberef. Our contribution to the Abadi-Plot kin program is to enrich the programming language with dynamic memory allocation, first class and higher order references and call/cc-style control. On the one hand, these enhancements allow us to directly model a larger class of system hardening principles. On the other hand, the class of opponents is also enhanced since our enriched language permits natural and direct encoding of attacks that alter the control flow of programs. Our main technical result is a fully abstract translation (up to probability) of lambda-mu-hashref into lambda-mu-proberef. Thus, in the presence of randomized layouts, the opponent gains no new power from being able to guess local references of the user program. Our numerical bounds are similar to those of Abadi and Plot kin, thus, the extra programming language features do not cause a concomitant increase in the resources required for protection via randomization. Radha Jagadeesan, Corin Pitcher, Julian Rathke, James Riely |
CSF | 4 |
| 2010 | Generative Operational Semantics for Relaxed Memory Models
Radha Jagadeesan, Corin Pitcher, James Riely |
ESOP | 3 |
| 2009 | Towards a Theory of Accountability and Audit
Radha Jagadeesan, Alan Jeffrey, Corin Pitcher, James Riely |
ESORICS | 4 |
| 2008 | Tapido: Trust and Authorization Via Provenance and Integrity in Distributed Objects (Extended Abstract)
Andrew Cirillo, Radha Jagadeesan, Corin Pitcher, James Riely |
ESOP | 4 |
| 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. | 4 |
| 2007 | Do As I SaY! Programmatic Access Control with Explicit IdentitiesabstractWe address the programmatic realization of the access control model of security in distributed systems. Our aim is to bridge the gap between abstract/declarative policies and their concrete/operational implementations. We present a programming formalism (which extends the asynchronous pi-calculus with explicit principals) and a specification logic (which extends Datalog with primitives from authorization logic). We provide two kinds of static analysis methods to tie implementation to specification. Type checking determines that a program is a sound implementation of policy; i.e., that all granted accesses are safe in the face of arbitrary opponents. Model checking determines a degree of completeness; i.e., that accesses permitted by the policy are actually granted in the implementation. Andrew Cirillo, Radha Jagadeesan, Corin Pitcher, James Riely |
CSF | 4 |
| 2007 | Specifications of a high-level conflict-free firewall policy language for multi-domain networksabstractMultiple firewalls typically cooperate to provide security properties for a network, despite the fact that these firewalls are often spatially distributed and configured in isolation. Without a global view of the network configuration, such a system is ripe for misconfiguration, causing conflicts and major security vulnerabilities. Bin Zhang 0007, Ehab Al-Shaer, Radha Jagadeesan, James Riely, Corin Pitcher |
SACMAT | 4 |
| 2006 | Dynamic Policy Discovery with Remote Attestation
Corin Pitcher, James Riely |
FoSSaCS | 2 |
| 2006 | lambda-RBAC: Programming with Role-Based Access Control
Radha Jagadeesan, Alan Jeffrey, Corin Pitcher, James Riely |
ICALP (2) | 4 |
| 2006 | Typed parametric polymorphism for aspects
Radha Jagadeesan, Alan Jeffrey, James Riely |
Sci. Comput. Program. | 3 |
| 2004 | µABC: A Minimal Aspect Calculus
Glenn Bruns, Radha Jagadeesan, Alan Jeffrey, James Riely |
CONCUR | 4 |
| 2003 | A Calculus of Untyped Aspect-Oriented Programs
Radha Jagadeesan, Alan Jeffrey, James Riely |
ECOOP | 3 |
| 2003 | Trust and Partial Typing in Open Systems of Mobile Agents
James Riely, Matthew Hennessy |
J. Autom. Reason. | 1 |
| 2002 | Resource Access Control in Systems of Mobile Agents
Matthew Hennessy, James Riely |
Inf. Comput. | 2 |
| 2002 | Information flow vs. resource access in the asynchronous pi-calculusabstractWe propose an extension of the asynchronous π-calculus in which a variety of security properties may be captured using types. These are an extension of the input/output types for the π-calculus in which I/O capabilities are assigned specific security levels. The main innovation is a uniform typing system that, by varying slightly the allowed set of types, captures different notions of security.We first define a typing system that ensures that processes running at security level σ cannot access resources with a security level higher than σ. The notion of access control guaranteed by this system is formalized in terms of a Type Safety Theorem.We then show that, by restricting the allowed types, our system prohibits implicit information flow from high-level to low-level processes. We prove that low-level behavior can not be influenced by changes to high-level behavior. This is formalized as a noninterference theorem with respect to may testing. Matthew Hennessy, James Riely |
ACM Trans. Program. Lang. Syst. | 2 |
| 2001 | Distributed processes and location failures
James Riely, Matthew Hennessy |
Theor. Comput. Sci. | 1 |
| 2000 | Information Flow vs. Resource Access in the Asynchronous Pi-Calculus
Matthew Hennessy, James Riely |
ICALP | 2 |
| 2000 | Flattening Is an Improvement
James Riely, Jan F. Prins |
SAS | 1 |
| 1999 | Trust and Partial Typing in Open Systems of Mobile AgentsabstractWe present a partially-typed semantics for Dπ, a distributed π-calculus. The semantics is designed for mobile agents in open distributed systems in which some sites may harbor malicious intentions. Nonetheless, the semantics guarantees traditional type-safety properties at "good" locations by using a mixture of static and dynamic type-checking. We show how the semantics can be extended to allow trust between sites, improving performance and expressiveness without compromising type-safety. James Riely, Matthew Hennessy |
POPL | 1 |
| 1998 | A Typed Language for Distributed Mobile Processes (Extended Abstract)abstractWe describe a foundational language for specifying dynamically evolving networks of distributed processes, Dπ. The language is a distributed extension of the π-calculus which incorporates the notions of remote execution, migration, and site failure. Novel features of Dπ include 1. Communication channels are explicitly located: the use of a channel requires knowledge of both the channel and its location. 2. Names are endowed with permissions: the holder of a name may only use that name in the manner allowed by these permissions.A type system is proposed in which-the types control the allocation of permissions; in well-typed processes all names are used in accordance with the permissions allowed by the types. We prove Subject Reduction and Type Safety Theorems for the type system. In the final section we define a semantic theory based on barbed bisimulations and discuss its characterization in terms of a bisimulation relation over a relativized labelled transition system. James Riely, Matthew Hennessy |
POPL | 1 |
| 1997 | Distributed Processes and Location Failures (Extended Abstract)
James Riely, Matthew Hennessy |
ICALP | 1 |
| 1994 | Testing-Based Abstractions for Value-Passing Systems
Rance Cleaveland, James Riely |
CONCUR | 2 |