VLDB 2026 Research / reviewers in the wild / expert
Sacha-Élie Ayoun
dblp:256/5074
· DBLP profile ↗
9ranked-venue papers
2as first author
8since 2021 · last 2026
0000-0001-9419-5387ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 9 · 2 first-author · 8 since 2021Theory of computation · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Gillian Debugging: Swinging Through the (Compositional Symbolic Execution) Trees
Nat Karmios, Sacha-Élie Ayoun, Philippa Gardner |
TACAS (2) | 2 |
| 2026 | Soteria: Efficient Symbolic Execution as a Functional Library: Perhaps You Should Write Your Own Symbolic Execution Engine!abstractSymbolic execution (SE) tools often rely on intermediate languages (ILs) to support multiple programming languages, promising reusability and efficiency. In practice, this approach introduces trade-offs between performance, accuracy, and language feature support. We argue that building SE engines directly for each source language is both simpler and more effective. We present Soteria, a lightweight OCaml library for writing SE engines in a functional style, without compromising on performance, accuracy or feature support. Soteria enables developers to construct SE engines that operate directly over source-language semantics, offering configurability, compositional reasoning, and ease of implementation. Using Soteria, we develop Soteria-Rust, the first Rust SE engine supporting TreeBorrows (the intricate aliasing model of Rust), and Soteria-C, a compositional SE engine for C. Both tools are competitive with or outperform state-of-the-art tools such as Kani, Infer.Pulse, CBMC and Gillian-C in performance and the number of bugs detected. We formalise the theoretical foundations of Soteria and prove its soundness, demonstrating that sound, efficient, accurate, and expressive SE can be achieved without the compromises of ILs. Sacha-Élie Ayoun, Opale Sjöstedt, Azalea Raad |
Proc. ACM Program. Lang. | 1 |
| 2025 | Compositional Bug Detection for Internally Unsafe Libraries: A Logical Approach to Type Unsoundness
Pedro Carrott, Sacha-Élie Ayoun, Azalea Raad |
ECOOP | 2 |
| 2025 | A Hybrid Approach to Semi-automated Rust VerificationabstractWe propose a hybrid approach to end-to-end Rust verification where the proof effort is split into powerful automated verification of safe Rust and targeted semi-automated verification of unsafe Rust. To this end, we present Gillian-Rust, a proof-of-concept semi-automated verification tool built on top of the Gillian platform that can reason about type safety and functional correctness of unsafe code. Gillian-Rust automates a rich separation logic for real-world Rust, embedding the lifetime logic of RustBelt and the parametric prophecies of RustHornBelt, and is able to verify real-world Rust standard library code with only minor annotations and with verification times orders of magnitude faster than those of comparable tools. We link Gillian-Rust with Creusot, a state-of-the-art verifier for safe Rust, by providing a systematic encoding of unsafe code specifications that Creusot can use but cannot verify, demonstrating the feasibility of our hybrid approach. Sacha-Élie Ayoun, Xavier Denis, Petar Maksimovic 0001, Philippa Gardner |
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. | 4 |
| 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 | 3 |
| 2024 | Matching Plans for Frame Inference in Compositional Reasoning
Andreas Lööw, Daniele Nantes Sobrinho, Sacha-Élie Ayoun, Petar Maksimovic 0001, Philippa Gardner |
ECOOP | 3 |
| 2021 | Gillian, Part II: Real-World Verification for JavaScript and CabstractAbstract We introduce verification based on separation logic to Gillian, a multi-language platform for the development of symbolic analysis tools which is parametric on the memory model of the target language. Our work develops a methodology for constructing compositional memory models for Gillian, leading to a unified presentation of the JavaScript and C memory models. We verify the JavaScript and C implementations of the AWS Encryption SDK message header deserialisation module, specifically designing common abstractions used for both verification tasks, and find two bugs in the JavaScript and three bugs in the C implementation. Petar Maksimovic 0001, Sacha-Élie Ayoun, José Fragoso Santos, Philippa Gardner |
CAV (2) | 2 |
| 2020 | Gillian, part i: a multi-language platform for symbolic executionabstractWe introduce Gillian, a platform for developing symbolic analysis tools for programming languages. Here, we focus on the symbolic execution engine at the heart of Gillian, which is parametric on the memory model of the target language. We give a formal description of the symbolic analysis and a modular implementation that closely follows this description. We prove a parametric soundness result, introducing restriction on abstract states, which generalises path conditions used in classical symbolic execution. We instantiate to obtain trusted symbolic testing tools for JavaScript and C, and use these tools to find bugs in real-world code, thus demonstrating the viability of our parametric approach. José Fragoso Santos, Petar Maksimovic 0001, Sacha-Élie Ayoun, Philippa Gardner |
PLDI | 3 |