Finn Hackett

dblp:274/7979 · also A. Finn Hackett, Alistair Finn Hackett · DBLP profile ↗
← Back
3ranked-venue papers
2as first author
2since 2021 · last 2025
0000-0002-8181-6938ORCID · corroborated

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

Software engineering, systems software and programming languages · 3 · 2 first-author · 2 since 2021Systems, architecture and hardware · 1 · 1 first-author · 1 since 2021
YearPublicationVenuePosition
2025 TraceLinking Implementations with Their Verified Designs
abstract
An important correctness gap exists between formally verifiable distributed system designs and their implementations. Recently proposed work bridges this gap by automatically extracting, or compiling, an implementation from the formally-verified design. The runtime behavior of this compiled implementation, however, may deviate from its design. For example, the compiler may contain bugs, the design may make incorrect assumptions about the deployment environment, or the implementation might be misconfigured. In this paper we develop TraceLink, a methodology to detect such deviations through trace validation. TraceLink maps traces, that capture an execution’s behavior, to the corresponding formal design. Unlike previous work on trace validation, our approach is completely automated. We implement TraceLink for PGo, a compiler from Modular PlusCal to both TLA + and Go. We present a formal semantics for interpreting execution traces as TLA + , along with a templatization strategy to minimize the size of the TLA + tracing specification. We also present a novel trace path validation strategy, called sidestep , which detects bugs faster and with little additional overhead. We evaluated TraceLink on several distributed systems, including an MPCal implementation of a Raft key-value store. Our evaluation demonstrates that TraceLink is able to find 9 previously undetected and diverse bugs in PGo’s TCB, including a bug in the PGo compiler itself. We also show the effectiveness of the templatization approach and the sidestep path validation strategy.
Finn Hackett, Ivan Beschastnikh
Proc. ACM Program. Lang.1
2023 Compiling Distributed System Models with PGo
abstract
Distributed systems are difficult to design and implement correctly. In response, both research and industry are exploring applications of formal methods to distributed systems. A key challenge in this domain is the missing link between the formal design of a system and its implementation. Today, practitioners bridge this link through manual effort.
Finn Hackett, Shayan Hosseini, Renato Costa, Matthew Do, Ivan Beschastnikh
ASPLOS (2)1
2020 mel- model extractor language for extracting facts from models
abstract
There is a large body of research on extracting models from code-related artifacts to enable model-based analyses of large software systems. However, engineers do not always have access to the entire code base of a system: some components may be procured from third-party suppliers based on a Model specification or their code may be generated automatically from Models.
Robert Hackman, Joanne M. Atlee, Finn Hackett, Michael W. Godfrey
MoDELS3