EDBT 2026 Demo / reviewers in the wild / expert
Will Deacon
dblp:173/9441
· DBLP profile ↗
3ranked-venue papers
0as first author
1since 2021 · last 2021
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 3 · 1 since 2021
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.
| Computer architecture, parallel and distributed computing, and storage systems
3 papers |
Memory systems · 59% Processor architecture and microarchitecture · 41% | |
| Software engineering, system software, and programming languages
2 papers |
Concurrent programming · 38% Programming languages and type systems · 38% Program verification · 23% |
Topics — the 5 heaviest of 6, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Memory systems › memory consistency
memory consistency model |
1.1 | 3 | 2021 | Armed Cats: Formal Concurrency Modelling at Arm · ACM Trans. Program. Lang. Syst. 2021 Simplifying ARM concurrency: multicopy-atomic axiomatic and operational models for ARMv8 · Proc. ACM Program. Lang. 2018 Modelling the ARMv8 architecture, operationally: concurrency and ISA · POPL 2016 |
Processor architecture and microarchitecture › instruction set architecture › RISC
ARM architecture |
0.5 | 1 | 2021 | Armed Cats: Formal Concurrency Modelling at Arm · ACM Trans. Program. Lang. Syst. 2021 |
Concurrent programming
memory models |
0.2 | 1 | 2016 | Modelling the ARMv8 architecture, operationally: concurrency and ISA · POPL 2016 |
Programming languages and type systems › language semantics › formal semantics
operational semantics |
0.2 | 1 | 2016 | Modelling the ARMv8 architecture, operationally: concurrency and ISA · POPL 2016 |
Processor architecture and microarchitecture
instruction set architecture |
0.2 | 1 | 2016 | Modelling the ARMv8 architecture, operationally: concurrency and ISA · POPL 2016 |
Methods — techniques the papers use, named apart from their topics
operational modelling · 1.0herd+diy · 1.0cat language · 1.0axiomatic modelling · 1.0operational semantics · 0.8litmus testing · 0.5dependent type system · 0.5equivalence proof · 0.3axiomatic semantics · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | Armed Cats: Formal Concurrency Modelling at ArmabstractWe report on the process for formal concurrency modelling at Arm. An initial formal consistency model of the Arm achitecture, written in the cat language, was published and upstreamed to the herd+diy tool suite in 2017. Since then, we have extended the original model with extra features, for example, mixed-size accesses, and produced two provably equivalent alternative formulations. In this article, we present a comprehensive review of work done at Arm on the consistency model. Along the way, we also show that our principle for handling mixed-size accesses applies to x86: We confirm this via vast experimental campaigns. We also show that our alternative formulations are applicable to any model phrased in a style similar to the one chosen by Arm. Jade Alglave, Will Deacon, Richard Grisenthwaite, Antoine Hacquard, Luc Maranget |
ACM Trans. Program. Lang. Syst. | 2 |
| 2018 | Simplifying ARM concurrency: multicopy-atomic axiomatic and operational models for ARMv8abstractARM has a relaxed memory model, previously specified in informal prose for ARMv7 and ARMv8. Over time, and partly due to work building formal semantics for ARM concurrency, it has become clear that some of the complexity of the model is not justified by the potential benefits. In particular, the model was originally non-multicopy-atomic : writes could become visible to some other threads before becoming visible to all — but this has not been exploited in production implementations, the corresponding potential hardware optimisations are thought to have insufficient benefits in the ARM context, and it gives rise to subtle complications when combined with other ARMv8 features. The ARMv8 architecture has therefore been revised: it now has a multicopy-atomic model. It has also been simplified in other respects, including more straightforward notions of dependency, and the architecture now includes a formal concurrency model. In this paper we detail these changes and discuss their motivation. We define two formal concurrency models: an operational one, simplifying the Flowing model of Flur et al., and the axiomatic model of the revised ARMv8 specification. The models were developed by an academic group and by ARM staff, respectively, and this extended collaboration partly motivated the above changes. We prove the equivalence of the two models. The operational model is integrated into an executable exploration tool with new web interface, demonstrated by exhaustively checking the possible behaviours of a loop-unrolled version of a Linux kernel lock implementation, a previously known bug due to unprevented speculation, and a fixed version. Christopher Pulte, Shaked Flur, Will Deacon, Jon French, Susmit Sarkar, Peter Sewell |
Proc. ACM Program. Lang. | 3 |
| 2016 | Modelling the ARMv8 architecture, operationally: concurrency and ISAabstractIn this paper we develop semantics for key aspects of the ARMv8 multiprocessor architecture: the concurrency model and much of the 64-bit application-level instruction set (ISA). Our goal is to clarify what the range of architecturally allowable behaviour is, and thereby to support future work on formal verification, analysis, and testing of concurrent ARM software and hardware. Establishing such models with high confidence is intrinsically difficult: it involves capturing the vendor's architectural intent, aspects of which (especially for concurrency) have not previously been precisely defined. We therefore first develop a concurrency model with a microarchitectural flavour, abstracting from many hardware implementation concerns but still close to hardware-designer intuition. This means it can be discussed in detail with ARM architects. We then develop a more abstract model, better suited for use as an architectural specification, which we prove sound w.r.t.~the first. The instruction semantics involves further difficulties, handling the mass of detail and the subtle intensional information required to interface to the concurrency model. We have a novel ISA description language, with a lightweight dependent type system, letting us do both with a rather direct representation of the ARM reference manual instruction descriptions. We build a tool from the combined semantics that lets one explore, either interactively or exhaustively, the full range of architecturally allowed behaviour, for litmus tests and (small) ELF executables. We prove correctness of some optimisations needed for tool performance. We validate the models by discussion with ARM staff, and by comparison against ARM hardware behaviour, for ISA single- instruction tests and concurrent litmus tests. Shaked Flur, Kathryn E. Gray, Christopher Pulte, Susmit Sarkar, Ali Sezgin, Luc Maranget, Will Deacon, Peter Sewell |
POPL | 7 |