VLDB 2026 Research / reviewers in the wild / expert
Andreas Lööw
dblp:242/1945
· DBLP profile ↗
10ranked-venue papers
8as first author
9since 2021 · last 2025
0000-0002-9564-4663ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 10 · 8 first-author · 9 since 2021Theory of computation · 4 · 3 first-author · 4 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | The Simulation Semantics of Synthesisable VerilogabstractDespite numerous previous formalisation projects targeting Verilog, the semantics of Verilog defined by the Verilog standard – Verilog’s simulation semantics – has thus far eluded definitive mathematical formalisation. Previous projects on formalising the semantics have made good progress but no previous project provides a formalisation that can be used to execute or formally reason about real-world hardware designs. In this paper, we show that the reason for this is that the Verilog standard is inconsistent both with Verilog practice and itself. We pinpoint a series of problems in the Verilog standard that we have identified in how the standard defines the semantics of the subset of Verilog used to describe hardware designs, that is, the synthesisable subset of Verilog. We show how the most complete Verilog formalisation to date inherits these problems and how, after we repair these problems in an executable implementation of the formalisation, the repaired implementation can be used to execute real-world hardware designs. The existing formalisation together with the repairs hence constitute the first formalisation of Verilog’s simulation semantics compatible with real-world hardware designs. Additionally, to make the results of this paper accessible to a wider (nonmathematical) audience, we provide a visual formalisation of Verilog’s simulation semantics. Andreas Lööw |
Proc. ACM Program. Lang. | 1 |
| 2025 | Compositional Symbolic Execution for the Next 700 Memory ModelsabstractMultiple successful compositional symbolic execution (CSE) tools and platforms exploit separation logic (SL) for compositional verification and/or incorrectness separation logic (ISL) for compositional bug-finding, including VeriFast, Viper, Gillian, CN, and Infer-Pulse. Previous work on the Gillian platform, the only CSE platform that is parametric on the memory model, meaning that it can be instantiated to different memory models, suggests that the ability to use custom memory models allows for more flexibility in supporting analysis of a wide range of programming languages, for implementing custom automation, and for improving performance. However, the literature lacks a satisfactory formal foundation for memory-model-parametric CSE platforms. In this paper, inspired by Gillian, we provide a new formal foundation for memory-model-parametric CSE platforms. Our foundation advances the state of the art in four ways. First, we mechanise our foundation (in the interactive theorem prover Rocq). Second, we validate our foundation by instantiating it to a broad range of memory models, including models for C and CHERI. Third, whereas previous memory-model-parametric work has only covered SL analyses, we cover both SL and ISL analyses. Fourth, our foundation is based on standard definitions of SL and ISL (including definitions of function specification validity, to ensure sound interoperation with other tools and platforms also based on standard definitions). Andreas Lööw, Seung Hoon Park, Daniele Nantes Sobrinho, Sacha-Élie Ayoun, Opale Sjöstedt, Philippa Gardner |
Proc. ACM Program. Lang. | 1 |
| 2024 | Compositional Symbolic Execution for Correctness and Incorrectness Reasoning
Andreas Lööw, Daniele Nantes Sobrinho, Sacha-Élie Ayoun, Caroline Cronjäger, Petar Maksimovic 0001, Philippa Gardner |
ECOOP | 1 |
| 2024 | Matching Plans for Frame Inference in Compositional Reasoning
Andreas Lööw, Daniele Nantes Sobrinho, Sacha-Élie Ayoun, Petar Maksimovic 0001, Philippa Gardner |
ECOOP | 1 |
| 2023 | Exact Separation Logic: Towards Bridging the Gap Between Verification and Bug-FindingabstractOver-approximating (OX) program logics, such as separation logic (SL), are used for verifying properties of heap-manipulating programs: all terminating behaviour is characterised, but established results and errors need not be reachable. OX function specifications are thus incompatible with true bug-finding supported by symbolic execution tools such as Pulse and Pulse-X. In contrast, under-approximating (UX) program logics, such as incorrectness separation logic, are used to find true results and bugs: established results and errors are reachable, but there is no mechanism for understanding if all terminating behaviour has been characterised. We introduce exact separation logic (ESL), which provides fully-verified function specifications compatible with both OX verification and UX true bug-funding: all terminating behaviour is characterised and all established results and errors are reachable. We prove soundness for ESL with mutually recursive functions, demonstrating, for the first time, function compositionality for a UX logic. We show that UX program logics require subtle definitions of internal and external function specifications compared with the familiar definitions of OX logics. We investigate the expressivity of ESL and, for the first time, explore the role of abstraction in UX reasoning by verifying abstract ESL specifications of various data-structure algorithms. In doing so, we highlight the difference between abstraction (hiding information) and over-approximation (losing information). Our findings demonstrate that abstraction cannot be used as freely in UX logics as in OX logics, but also that it should be feasible to use ESL to provide tractable function specifications for self-contained, critical code, which would then be used for both verification and true bug-finding. Petar Maksimovic 0001, Caroline Cronjäger, Andreas Lööw, Julian Sutherland, Philippa Gardner |
ECOOP | 3 |
| 2023 | Formal Verification of Correctness and Information Flow Security for an In-Order Pipelined Processor
Roberto Guanciale, Mads Dam, Andreas Lööw |
FMCAD | 4 |
| 2022 | Reconciling Verified-Circuit Development and Verilog Development
Andreas Lööw |
FMCAD | 1 |
| 2022 | A small, but important, concurrency problem in Verilog's semantics? (Work in progress)abstractDespite its many flaws, Verilog is today both the most popular hardware design language and a popular language for communication between hardware development tools. Ever since the language was standardised, researchers have made attempts at formalising its semantics. To this day, no such attempt has been fully successful. In this paper, we highlight one - we think, important - concurrency problem in Verilog's semantics that has, for now, sidetracked our own ongoing Verilog semantics formalisation attempt. To us, the problem calls for a clarification of the Verilog standard. We propose a potential fix for the problem. Andreas Lööw |
MEMOCODE | 1 |
| 2021 | Lutsig: a verified Verilog compiler for verified circuit developmentabstractWe report on a new verified Verilog compiler called Lutsig. Lutsig currently targets (a class of) FPGAs and is capable of producing technology mapped netlists for FPGAs. We have connected Lutsig to existing Verilog development tools, and in this paper we show how Lutsig, as a consequence of this connection, fits into a hardware development methodology for verified circuits in the HOL4 theorem prover. One important step in the methodology is transporting properties proved at the behavioral Verilog level down to technology mapped netlists, and Lutsig is the component in the methodology that enables such transportation. Andreas Lööw |
CPP | 1 |
| 2019 | Verified compilation on a verified processorabstractDeveloping technology for building verified stacks, i.e., computer systems with comprehensive proofs of correctness, is one way the science of programming languages furthers the computing discipline. While there have been successful projects verifying complex, realistic system components, including compilers (software) and processors (hardware), to date these verification efforts have not been compatible to the point of enabling a single end-to-end correctness theorem about running a verified compiler on a verified processor. Andreas Lööw, Ramana Kumar, Yong Kiam Tan, Magnus O. Myreen, Michael Norrish, Oskar Abrahamsson, Anthony C. J. Fox |
PLDI | 1 |