Revealing Sources of (Memory) Errors via Backward Analysis
Flavio Ascari, Roberto Bruni, Roberta Gori, Francesco Logozzo
摘要
Sound over-approximation methods have been proved effective for guaranteeing the absence of errors, but inevitably they produce false alarms that can hamper the programmers. Conversely, under-approximation methods are aimed at bug finding and are free from false alarms. We introduce Sufficient Incorrectness Logic (SIL), a new under-approximating, triple-based program logic to reason about program errors. SIL is designed to set apart the initial states leading to errors. We prove that SIL is correct and complete for a minimal set of rules, and we study additional rules that can facilitate program analyses. We formally compare SIL to existing triple-based program logics. Incorrectness Logic and SIL both perform under-approximations, but while the former exposes only true errors, the latter locates the set of initial states that lead to such errors. Hoare Logic performs over-approximations and as such cannot capture the set of initial states leading to errors in nondeterministic programs -for deterministic and terminating programs, Hoare Logic and SIL coincide. Finally, we instantiate SIL with Separation Logic formulae (Separation SIL) to handle pointers and dynamic allocation and we prove its correctness and, for loop-free programs, also its completeness. We argue that in some cases Separation SIL can yield more succinct postconditions and provide stronger guarantees than Incorrectness Separation Logic and can support effective backward reasoning.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper8
- Outcome Separation Logic: Local Reasoning for Correctness and Incorrectness with Computational EffectsNoam Zilberstein, Angelina Saliling, Alexandra SilvaOOPSLA 2024 · 被引用 16 次
- Non-termination Proving at ScaleAzalea Raad, Julien Vanegue, Peter W. O'HearnOOPSLA 2024 · 被引用 10 次
- Quantitative Weakest Hyper Pre: Unifying Correctness and Incorrectness Hyperproperties via Predicate TransformersLinpeng Zhang, Noam Zilberstein, Benjamin Lucien Kaminski, Alexandra SilvaOOPSLA 2024 · 被引用 5 次
- A Taxonomy of Hoare-Like Logics: Towards a Holistic View using Predicate Transformers and Kleene Algebras with Top and TestsLena Verscht, Benjamin Lucien KaminskiPOPL 2025 · 被引用 3 次
- U-Turn: Enhancing Incorrectness Analysis by Reversing DirectionFlavio Ascari, Roberto Bruni, Roberta Gori, Azalea RaadPOPL 2026 · 被引用 2 次
它引用的顶会 Paper8
- Incorrectness logicPeter W. O'HearnPOPL 2020 · 被引用 122 次
- 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 次
- Outcome Logic: A Unifying Foundation for Correctness and Incorrectness ReasoningNoam Zilberstein, Derek Dreyer, Alexandra SilvaOOPSLA 2023 · 被引用 39 次
- Concurrent incorrectness separation logicAzalea Raad, Josh Berdine, Derek Dreyer, Peter W. O'HearnPOPL 2022 · 被引用 24 次
相关 Paper
- On Extending Incorrectness Logic with Backwards ReasoningFreek Verbeek, Md Syadus Sefat, Zhoulai Fu, Binoy RavindranPOPL 2025 · 被引用 1 次
- On incorrectness logic for Quantum programsPeng Yan, Hanru Jiang, Nengkun YuOOPSLA 2022 · 被引用 27 次
- Systematic Design of Separation LogicsRoberto Bruni, Lorenzo Gazzella, Roberta GoriOOPSLA 2026
- Hyper Hoare Logic: (Dis-)Proving Program HyperpropertiesThibault Dardinier, Peter MüllerPLDI 2024 · 被引用 28 次
- On incorrectness logic and Kleene algebra with top and testsCheng Zhang, Arthur Azevedo de Amorim, Marco GaboardiPOPL 2022 · 被引用 9 次
