Demo Data from VLDB 2026 / reviewers in the wild / expert
Aaron Turon
dblp:79/9034 · also Aaron Joseph Turon
· DBLP profile ↗
14ranked-venue papers
7as first author
0since 2021 · last 2017
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 14 · 7 first-author
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
8 papers |
Concurrent programming · 45% Program verification · 28% Programming languages and type systems · 24% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Parallel and multicore computing · 100% |
Topics — the 22 heaviest of 24, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing
parallel programming models |
0.3 | 2 | 2014 | Freeze after writing: quasi-deterministic parallel programming with LVars · POPL 2014 Scalable join patterns · OOPSLA 2011 |
Concurrent programming › concurrency control
fine-grained concurrency |
0.3 | 2 | 2013 | Logical relations for fine-grained concurrency · POPL 2013 Reagents: expressing and composing fine-grained concurrency · PLDI 2012 |
Programming languages and type systems › type systems
ownership types |
0.3 | 1 | 2017 | Rust: from POPL to practice (keynote) · POPL 2017 |
Programming languages and type systems › type systems
substructural type systems |
0.3 | 1 | 2017 | Rust: from POPL to practice (keynote) · POPL 2017 |
Program verification › program logic › separation logic
concurrent separation logic |
0.2 | 1 | 2015 | Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoning · POPL 2015 |
Program verification
program logic |
0.2 | 1 | 2015 | Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoning · POPL 2015 |
Concurrent programming › deterministic execution
deterministic parallelism |
0.2 | 1 | 2014 | Freeze after writing: quasi-deterministic parallel programming with LVars · POPL 2014 |
Concurrent programming
memory models |
0.2 | 1 | 2014 | GPS: navigating weak memory with ghosts, protocols, and separation · OOPSLA 2014 |
Concurrent programming › memory models
weak memory models |
0.2 | 1 | 2014 | GPS: navigating weak memory with ghosts, protocols, and separation · OOPSLA 2014 |
Concurrent programming
concurrent data structures |
0.2 | 1 | 2013 | Logical relations for fine-grained concurrency · POPL 2013 |
Program verification › refinement
contextual refinement |
0.2 | 1 | 2013 | Logical relations for fine-grained concurrency · POPL 2013 |
Programming languages and type systems
logical relations |
0.2 | 1 | 2013 | Logical relations for fine-grained concurrency · POPL 2013 |
Concurrent programming
synchronization |
0.1 | 1 | 2012 | Reagents: expressing and composing fine-grained concurrency · PLDI 2012 |
Compilers and program optimization › parallel program optimization › synchronization optimization
atomicity refinement |
0.1 | 1 | 2011 | A separation logic for refining concurrent objects · POPL 2011 |
Concurrent programming › concurrent data structures
concurrent objects |
0.1 | 1 | 2011 | A separation logic for refining concurrent objects · POPL 2011 |
Programming languages and type systems › concurrent programming languages
coordination languages |
0.1 | 1 | 2011 | Scalable join patterns · OOPSLA 2011 |
Concurrent programming › concurrency theory › process calculi
join calculus |
0.1 | 1 | 2011 | Scalable join patterns · OOPSLA 2011 |
Program verification › modular reasoning
rely-guarantee reasoning |
0.1 | 1 | 2011 | A separation logic for refining concurrent objects · POPL 2011 |
Program verification › program logic
separation logic |
0.1 | 1 | 2011 | A separation logic for refining concurrent objects · POPL 2011 |
Concurrent programming › synchronization
synchronization primitives |
0.1 | 1 | 2011 | Scalable join patterns · OOPSLA 2011 |
Programming languages and type systems
language design |
0.1 | 1 | 2017 | Rust: from POPL to practice (keynote) · POPL 2017 |
Program verification › program logic
hoare logic |
0.1 | 1 | 2015 | Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoning · POPL 2015 |
Methods — techniques the papers use, named apart from their topics
least upper bound · 0.4lattice-based shared memory · 0.4separation logic · 0.3join calculus · 0.2view shift · 0.2partial commutative monoids · 0.2protocols · 0.2ghost state · 0.2logical relations · 0.2combinator library · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2017 | Rust: from POPL to practice (keynote)abstractIn 2015, a language based fundamentally on substructural typing–Rust–hit its 1.0 release, and less than a year later it has been put into production use in a number of tech companies, including some household names. The language has started a trend, with several other mainstream languages, including C++ and Swift, in the early stages of incorporating ideas about ownership. How did this come about? Aaron Turon |
POPL | 1 |
| 2015 | Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent ReasoningabstractWe present Iris, a concurrent separation logic with a simple premise: monoids and invariants are all you need. Partial commutative monoids enable us to express---and invariants enable us to enforce---user-defined *protocols* on shared state, which are at the conceptual core of most recent program logics for concurrency. Furthermore, through a novel extension of the concept of a *view shift*, Iris supports the encoding of *logically atomic specifications*, i.e., Hoare-style specs that permit the client of an operation to treat the operation essentially as if it were atomic, even if it is not. Ralf Jung 0002, David Swasey, Filip Sieczkowski, Kasper Svendsen, Aaron Turon, Lars Birkedal, Derek Dreyer |
POPL | 5 |
| 2014 | GPS: navigating weak memory with ghosts, protocols, and separationabstractWeak memory models formalize the inconsistent behaviors that one can expect to observe in multithreaded programs running on modern hardware. In so doing, however, they complicate the already-difficult task of reasoning about correctness of concurrent code. Worse, they render impotent the sophisticated formal methods that have been developed to tame concurrency, which almost universally assume a strong (i.e. sequentially consistent) memory model. Aaron Turon, Viktor Vafeiadis, Derek Dreyer |
OOPSLA | 1 |
| 2014 | Freeze after writing: quasi-deterministic parallel programming with LVarsabstractDeterministic-by-construction parallel programming models offer the advantages of parallel speedup while avoiding the nondeterministic, hard-to-reproduce bugs that plague fully concurrent code. A principled approach to deterministic-by-construction parallel programming with shared state is offered by LVars: shared memory locations whose semantics are defined in terms of an application-specific lattice. Writes to an LVar take the least upper bound of the old and new values with respect to the lattice, while reads from an LVar can observe only that its contents have crossed a specified threshold in the lattice. Although it guarantees determinism, this interface is quite limited. Lindsey Kuper, Aaron Turon, Neelakantan R. Krishnaswami, Ryan Newton |
POPL | 2 |
| 2013 | Unifying refinement and hoare-style reasoning in a logic for higher-order concurrencyabstractModular programming and modular verification go hand in hand, but most existing logics for concurrency ignore two crucial forms of modularity: *higher-order functions*, which are essential for building reusable components, and *granularity abstraction*, a key technique for hiding the intricacies of fine-grained concurrent data structures from the clients of those data structures. In this paper, we present CaReSL, the first logic to support the use of granularity abstraction for modular verification of higher-order concurrent programs. After motivating the features of CaReSL through a variety of illustrative examples, we demonstrate its effectiveness by using it to tackle a significant case study: the first formal proof of (partial) correctness for Hendler et al.'s "flat combining" algorithm. Aaron Turon, Derek Dreyer, Lars Birkedal |
ICFP | 1 |
| 2013 | Logical relations for fine-grained concurrencyabstractFine-grained concurrent data structures (or FCDs) reduce the granularity of critical sections in both time and space, thus making it possible for clients to access different parts of a mutable data structure in parallel. However, the tradeoff is that the implementations of FCDs are very subtle and tricky to reason about directly. Consequently, they are carefully designed to be contextual refinements of their coarse-grained counterparts, meaning that their clients can reason about them as if all access to them were sequentialized. Aaron Turon, Jacob Thamsborg, Amal Ahmed 0001, Lars Birkedal, Derek Dreyer |
POPL | 1 |
| 2012 | Superficially substructural typesabstractMany substructural type systems have been proposed for controlling access to shared state in higher-order languages. Central to these systems is the notion of a *resource*, which may be split into disjoint pieces that different parts of a program can manipulate independently without worrying about interfering with one another. Some systems support a *logical* notion of resource (such as permissions), under which two resources may be considered disjoint even if they govern the *same* piece of state. However, in nearly all existing systems, the notions of resource and disjointness are fixed at the outset, baked into the model of the language, and fairly coarse-grained in the kinds of sharing they enable. Neelakantan R. Krishnaswami, Aaron Turon, Derek Dreyer, Deepak Garg 0001 |
ICFP | 2 |
| 2012 | Reagents: expressing and composing fine-grained concurrencyabstractEfficient communication and synchronization is crucial for fine grained parallelism. Libraries providing such features, while indispensable, are difficult to write, and often cannot be tailored or composed to meet the needs of specific users. We introduce reagents, a set of combinators for concisely expressing concurrency algorithms. Reagents scale as well as their hand-coded counterparts, while providing the composability existing libraries lack. Aaron Turon |
PLDI | 1 |
| 2011 | Modular rollback through control logging: a pair of twin functional pearlsabstractWe present a technique, based on the use of first-class control operators, enabling programs to maintain and invoke rollback logs for sequences of reversible effects. Our technique is modular, in that it provides complete separation between some library of effectful operations, and a client, "driver" program which invokes and rolls back sequences of these operations. In particular, the checkpoint mechanism, which is entirely encapsulated within the effect library, logs not only the library's effects, but also the client's control state. Thus, logging and rollback can be almost completely transparent to the client code. Olin Shivers, Aaron Turon |
ICFP | 2 |
| 2011 | Scalable join patternsabstractCoordination can destroy scalability in parallel programming. A comprehensive library of scalable synchronization primitives is therefore an essential tool for exploiting parallelism. Unfortunately, such primitives do not easily combine to yield solutions to more complex problems. We demonstrate that a concurrency library based on Fournet and Gonthier's join calculus can provide declarative and scalable coordination. By declarative, we mean that the programmer needs only to write down the constraints of a coordination problem, and the library will automatically derive a correct solution. By scalable, we mean that the derived solutions deliver robust performance both as the number of processors increases, and as the complexity of the coordination problem grows. We validate our claims empirically on seven coordination problems, comparing our generic solution to specialized algorithms from the literature. Aaron Turon, Claudio V. Russo |
OOPSLA | 1 |
| 2011 | A separation logic for refining concurrent objectsabstractFine-grained concurrent data structures are crucial for gaining performance from multiprocessing, but their design is a subtle art. Recent literature has made large strides in verifying these data structures, using either atomicity refinement or separation logic with rely-guarantee reasoning. In this paper we show how the ownership discipline of separation logic can be used to enable atomicity refinement, and we develop a new rely-guarantee method that is localized to the definition of a data structure. We present the first semantics of separation logic that is sensitive to atomicity, and show how to control this sensitivity through ownership. The result is a logic that enables compositional reasoning about atomicity and interference, even for programs that use fine-grained synchronization and dynamic memory allocation. Aaron Turon, Mitchell Wand |
POPL | 1 |
| 2009 | All-Termination(T)
Panagiotis Manolios, Aaron Turon |
TACAS | 2 |
| 2009 | Regular-expression derivatives re-examinedabstractAbstract Regular-expression derivatives are an old, but elegant, technique for compiling regular expressions to deterministic finite-state machines. It easily supports extending the regular-expression operators with boolean operations, such as intersection and complement. Unfortunately, this technique has been lost in the sands of time and few computer scientists are aware of it. In this paper, we reexamine regular-expression derivatives and report on our experiences in the context of two different functional-language implementations. The basic implementation is simple and we show how to extend it to handle large character sets (e.g., Unicode). We also show that the derivatives approach leads to smaller state machines than the traditional algorithm given by McNaughton and Yamada. Scott Owens, John H. Reppy, Aaron Turon |
J. Funct. Program. | 3 |
| 2007 | Metaprogramming with Traits
John H. Reppy, Aaron Turon |
ECOOP | 2 |