Duncan Paul Attard

dblp:185/8845 · DBLP profile ↗
← Back
10ranked-venue papers
3as first author
7since 2021 · last 2025
0000-0002-2448-5394ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 8 · 3 first-author · 5 since 2021Computer networks · 1 · 1 first-author · 1 since 2021Theory of computation · 1 · 1 since 2021
YearPublicationVenuePosition
2025 Monitorability for the Modal Mu-Calculus over Systems with Data: From Practice to Theory
abstract
Runtime verification consists in checking whether a system satisfies a given specification by observing the execution trace it produces. In the regular setting, the modal μ-calculus provides a versatile formalism for expressing specifications of the control flow of the system. This paper focuses on the data flow and studies an extension of that logic that allows it to express data-dependent properties, identifying fragments that can be verified at runtime and with what correctness guarantees. The logic studied here is closely related with register automata with guessing. That correspondence yields a monitor synthesis algorithm, and a strict hierarchy among the various fragments of the logic, in contrast to the regular setting. We then exhibit a fragment of the logic that can express all monitorable formulae in the logic without greatest fixed-points but not in the full logic, and show this is the best we can get.
Luca Aceto, Antonis Achilleos, Duncan Paul Attard, Léo Exibard, Adrian Francalanza, Anna Ingólfsdóttir, Karoliina Lehtinen
CONCUR3
2024 Runtime Instrumentation for Reactive Components
Luca Aceto, Duncan Paul Attard, Adrian Francalanza, Anna Ingólfsdóttir
ECOOP2
2024 A monitoring tool for linear-time μHML
Luca Aceto, Antonis Achilleos, Duncan Paul Attard, Léo Exibard, Adrian Francalanza, Anna Ingólfsdóttir
Sci. Comput. Program.3
2023 Special Delivery: Programming with Mailbox Types
abstract
The asynchronous and unidirectional communication model supported by mailboxes is a key reason for the success of actor languages like Erlang and Elixir for implementing reliable and scalable distributed systems. While many actors may send messages to some actor, only the actor may (selectively) receive from its mailbox. Although actors eliminate many of the issues stemming from shared memory concurrency, they remain vulnerable to communication errors such as protocol violations and deadlocks. Mailbox types are a novel behavioural type system for mailboxes first introduced for a process calculus by de’Liguoro and Padovani in 2018, which capture the contents of a mailbox as a commutative regular expression. Due to aliasing and nested evaluation contexts, moving from a process calculus to a programming language is challenging. This paper presents Pat, the first programming language design incorporating mailbox types, and describes an algorithmic type system. We make essential use of quasi-linear typing to tame some of the complexity introduced by aliasing. Our algorithmic type system is necessarily co-contextual, achieved through a novel use of backwards bidirectional typing, and we prove it sound and complete with respect to our declarative type system. We implement a prototype type checker, and use it to demonstrate the expressiveness of Pat on a factory automation case study and a series of examples from the Savina actor benchmark suite.
Simon Fowler 0001, Duncan Paul Attard, Franciszek Sowul, Simon J. Gay, Philip W. Trinder
Proc. ACM Program. Lang.2
2022 A Monitoring Tool for Linear-Time μHML
Luca Aceto, Antonis Achilleos, Duncan Paul Attard, Léo Exibard, Adrian Francalanza, Anna Ingólfsdóttir
COORDINATION3
2021 On Benchmarking for Concurrent Runtime Verification
abstract
Abstract We present a synthetic benchmarking framework that targets the systematic evaluation of RV tools for message-based concurrent systems. Our tool can emulate various load profiles via configuration. It provides a multi-faceted view of measurements that is conducive to a comprehensive assessment of the overhead induced by runtime monitoring. The tool is able to generate significant loads to reveal edge case behaviour that may only emerge when the monitoring system is pushed to its limit. We evaluate our framework in two ways. First, we conduct sanity checks to assess the precision of the measurement mechanisms used, the repeatability of the results obtained, and the veracity of the behaviour emulated by our synthetic benchmark. We then showcase the utility of the features offered by our tool in a two-part RV case study.
Luca Aceto, Duncan Paul Attard, Adrian Francalanza, Anna Ingólfsdóttir
FASE2
2021 Better Late Than Never or: Verifying Asynchronous Components at Runtime
Duncan Paul Attard, Luca Aceto, Antonis Achilleos, Adrian Francalanza, Anna Ingólfsdóttir, Karoliina Lehtinen
FORTE1
2017 A Foundation for Runtime Monitoring
Adrian Francalanza, Luca Aceto, Antonis Achilleos, Duncan Paul Attard, Ian Cassar, Dario Della Monica, Anna Ingólfsdóttir
RV4
2017 Trace Partitioning and Local Monitoring for Asynchronous Components
Duncan Paul Attard, Adrian Francalanza
SEFM1
2016 A Monitoring Tool for a Branching-Time Logic
Duncan Paul Attard, Adrian Francalanza
RV1