Soteria: Efficient Symbolic Execution as a Functional Library: Perhaps You Should Write Your Own Symbolic Execution Engine!
Sacha-Élie Ayoun, Opale Sjöstedt, Azalea Raad
摘要
Symbolic 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 Tree Borrows (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, 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.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper15
- Incorrectness logicPeter W. O'HearnPOPL 2020 · 被引用 122 次
- Verus: Verifying Rust Programs using Linear Ghost TypesAndrea Lattuada, Travis Hance, Chanhee Cho, Matthias Brun 等OOPSLA 2023 · 被引用 86 次
- Local Reasoning About the Presence of Bugs: Incorrectness Separation LogicAzalea Raad, Josh Berdine, Hoang-Hai Dang, Derek Dreyer 等CAV 2020 · 被引用 70 次
- Finding real bugs in big programs with incorrectness logicQuang Loc Le, Azalea Raad, Jules Villard, Josh Berdine 等OOPSLA 2022 · 被引用 52 次
- Gillian, part i: a multi-language platform for symbolic executionJosé Fragoso Santos, Petar Maksimovic, Sacha-Élie Ayoun, Philippa GardnerPLDI 2020 · 被引用 38 次
相关 Paper
- Compositional Symbolic Execution for the Next 700 Memory ModelsAndreas Lööw, Seung Hoon Park, Daniele Nantes-Sobrinho, Sacha-Élie Ayoun 等OOPSLA 2025 · 被引用 4 次
- A Study of Undefined Behavior Across Foreign Function Boundaries in Rust LibrariesIan McCormack, Joshua Sunshine, Jonathan AldrichICSE 2025 · 被引用 5 次
- Engineering a Formally Verified Automated Bug FinderArthur Correnson, Dominic SteinhöfelFSE 2023 · 被引用 6 次
- A Hybrid Approach to Semi-automated Rust VerificationSacha-Élie Ayoun, Xavier Denis, Petar Maksimovic, Philippa GardnerPLDI 2025 · 被引用 9 次
- Compiling symbolic execution with staging and algebraic effectsGuannan Wei, Oliver Bracevac, Shangyin Tan, Tiark RompfOOPSLA 2020 · 被引用 12 次
