EDBT 2026 Demo / reviewers in the wild / expert
Adam D. Barwell
dblp:150/2945
· DBLP profile ↗
11ranked-venue papers
7as first author
7since 2021 · last 2025
0000-0003-1236-7160ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 5 · 4 first-author · 4 since 2021Software engineering, systems software and programming languages · 4 · 3 first-author · 3 since 2021Systems, architecture and hardware · 2 · 1 first-author · 1 since 2021Artificial intelligence and machine learning · 1Applied, interdisciplinary, general and emerging computing · 1 · 1 first-author · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Encoding Choice and Replication in $\mathtt{\textbf{roll}}\text {-}\pi $
Adam D. Barwell, Ping Hou, Martin Vassor, Nobuko Yoshida |
RC | 1 |
| 2025 | Crash-Stop Failures in Asynchronous Multiparty Session TypesabstractSession types provide a typing discipline for message-passing systems. However, their theory often assumes an ideal world: one in which everything is reliable and without failures. Yet this is in stark contrast with distributed systems in the real world. To address this limitation, we introduce a new asynchronous multiparty session types (MPST) theory with crash-stop failures, where processes may crash arbitrarily and cease to interact after crashing. We augment asynchronous MPST and processes with crash handling branches, and integrate crash-stop failure semantics into types and processes. Our approach requires no user-level syntax extensions for global types, and features a formalisation of global semantics, which captures complex behaviours induced by crashed/crash handling processes. Our new theory covers the entire spectrum, ranging from the ideal world of total reliability to entirely unreliable scenarios where any process may crash, using optional reliability assumptions. Under these assumptions, we demonstrate the sound and complete correspondence between global and local type semantics, which guarantee deadlock-freedom, protocol conformance, and liveness of well-typed processes by construction, even in the presence of crashes. Comment: arXiv admin note: substantial text overlap with arXiv:2305.06238 Adam D. Barwell, Ping Hou, Nobuko Yoshida, Fangyi Zhou 0002 |
Log. Methods Comput. Sci. | 1 |
| 2024 | Towards Specification-Guarded Refactoring
Adam D. Barwell, Christopher Brown 0002, Susmit Sarkar |
LOPSTR | 1 |
| 2023 | Designing Asynchronous Multiparty Protocols with Crash-Stop FailuresabstractSession types provide a typing discipline for message-passing systems. However, most session type approaches assume an ideal world: one in which everything is reliable and without failures. Yet this is in stark contrast with distributed systems in the real world. To address this limitation, we introduce Teatrino, a code generation toolchain that utilises asynchronous multiparty session types (MPST) with crash-stop semantics to support failure handling protocols. We augment asynchronous MPST and processes with crash handling branches. Our approach requires no user-level syntax extensions for global types and features a formalisation of global semantics, which captures complex behaviours induced by crashed/crash handling processes. The sound and complete correspondence between global and local type semantics guarantees deadlock-freedom, protocol conformance, and liveness of typed processes in the presence of crashes. Our theory is implemented in the toolchain Teatrino, which provides correctness by construction. Teatrino extends the Scribble multiparty protocol language to generate protocol-conforming Scala code, using the Effpi concurrent programming library. We extend both Scribble and Effpi to support crash-stop behaviour. We demonstrate the feasibility of our methodology and evaluate Teatrino with examples extended from both session type and distributed systems literature. Adam D. Barwell, Ping Hou, Nobuko Yoshida, Fangyi Zhou 0002 |
ECOOP | 1 |
| 2022 | Generalised Multiparty Session Types with Crash-Stop FailuresabstractSession types enable the specification and verification of communicating systems. However, their theory often assumes that processes never fail. To address this limitation, we present a generalised multiparty session type (MPST) theory with crash-stop failures, where processes can crash arbitrarily. Our new theory validates more protocols and processes w.r.t. previous work. We apply minimal syntactic changes to standard session π-calculus and types: we model crashes and their handling semantically, with a generalised MPST typing system parametric on a behavioural safety property. We cover the spectrum between fully reliable and fully unreliable sessions, via optional reliability assumptions, and prove type safety and protocol conformance in the presence of crash-stop failures. Introducing crash-stop failures has non-trivial consequences: writing correct processes that handle all crash scenarios can be difficult. Yet, our generalised MPST theory allows us to tame this complexity, via model checking, to validate whether a multiparty session satisfies desired behavioural properties, e.g. deadlock-freedom or liveness, even in presence of crashes. We implement our approach using the mCRL2 model checker, and evaluate it with examples extended from the literature. Adam D. Barwell, Alceste Scalas, Nobuko Yoshida, Fangyi Zhou 0002 |
CONCUR | 1 |
| 2022 | CONCUR test-of-time award for the period 1994-97 interview with Uwe Nestmann and Benjamin C. Pierce
Adam D. Barwell, Francisco Ferreira 0001, Nobuko Yoshida |
J. Log. Algebraic Methods Program. | 1 |
| 2021 | Refactoring for introducing and tuning parallelism for heterogeneous multicore machines in ErlangabstractSummary This paper presents semi‐automatic software refactorings to introduce and tune structured parallelism in sequential Erlang code, as well as to generate code for running computations on GPUs and possibly other accelerators. Our refactorings are based on the lapedo framework for programming heterogeneous multi‐core systems in Erlang. lapedo is based on the PaRTE refactoring tool and also contains (1) a set of hybrid skeletons that target both CPU and GPU processors, (2) novel refactorings for introducing and tuning parallelism, and (3) a tool to generate the GPU offloading and scheduling code in Erlang, which is used as a component of hybrid skeletons. We demonstrate, on four realistic use‐case applications, that we are able to refactor sequential code and produce heterogeneous parallel versions that can achieve significant and scalable speedups of up to 220 over the original sequential Erlang program on a 24‐core machine with a GPU. Vladimir Janjic, Christopher Brown 0002, Adam D. Barwell, Kevin Hammond |
Concurr. Comput. Pract. Exp. | 3 |
| 2020 | A Hybrid Approach to Parallel Pattern Discovery in C++abstractParallel pattern libraries offer a strong combination of abstraction and performance. However, discovering places in sequential code where parallel patterns should be introduced is still highly non-trivial, often requiring expert manual analysis and profiling. We present a hybrid discovery technique to detect instances of parallel patterns in sequential code. This employs both static and dynamic trace-based analysis, together with hotspot detection. We evaluate our pattern discovery mechanism on a number of representative benchmarks. We evaluate the performance of the resulting parallelised benchmarks on a 24-core parallel machine. Christopher Brown 0002, Vladimir Janjic, Adam D. Barwell, John Donald Thomson, Roberto Castañeda Lozano, Murray Cole, Björn Franke, José Daniel García, David del Rio Astorga, Kenneth MacKenzie |
PDP | 3 |
| 2019 | Type-Driven Verification of Non-functional PropertiesabstractEnergy, Time and Security (ETS) properties of programs are becoming increasingly prioritised by developers, especially where applications are running on ETS sensitive systems, such as embedded devices or the Internet of Things. Moreover, developers currently lack tools and language properties to allow them to reason about ETS. In this paper, we introduce a new contract specification framework, called Drive, which allows a developer to reason about ETS or other non-functional properties of their programs as first-class properties of the language. Furthermore, we introduce a contract specification language, allowing developers to reason about these first-class ETS properties by expressing contracts that are proved correct by an underlying formal type system. Finally, we show our contract framework over a number of representable examples, demonstrating provable worst-case ETS properties. Christopher Brown 0002, Adam D. Barwell, Yoann Marquer, Céline Minh, Olivier Zendra |
PPDP | 2 |
| 2019 | Extending the "Open-Closed Principle" to Automated Algorithm ConfigurationabstractMetaheuristics are an effective and diverse class of optimization algorithms: a means of obtaining solutions of acceptable quality for otherwise intractable problems. The selection, construction, and configuration of a metaheuristic for a given problem has historically been a manually intensive process based on experience, experimentation, and reasoning by metaphor. More recently, there has been interest in automating the process of algorithm configuration. In this article, we identify shared state as an inhibitor of progress for such automation. To solve this problem, we introduce the Automated Open-Closed Principle (AOCP), which stipulates design requirements for unintrusive reuse of algorithm frameworks and automated assembly of algorithms from an extensible palette of components. We demonstrate how the AOCP enables a greater degree of automation than previously possible via an example implementation. Jerry Swan, Steven Adriænsen, Adam D. Barwell, Kevin Hammond, David Robert White |
Evol. Comput. | 3 |
| 2018 | Finding parallel functional pearls: Automatic parallel recursion scheme detection in Haskell functions via anti-unification
Adam D. Barwell, Christopher Brown 0002, Kevin Hammond |
Future Gener. Comput. Syst. | 1 |