Arithmetizing Shape Analysis
Sebastian Wolff, Ekanshdeep Gupta, Zafer Esen, Hossein Hojjat, Philipp Rümmer, Thomas Wies
摘要
Memory safety is an essential correctness property of software systems. For programs operating on linked heapallocated data structures, the problem of proving memory safety boils down to analyzing the possible shapes of data structures, leading to the field of shape analysis. This paper presents a novel reduction-based approach to memory safety analysis that relies on two forms of abstraction: flow abstraction, representing global properties of the heap graph through local flow equations; and view abstraction, which enable verification tools to reason symbolically about an unbounded number of heap objects. In combination, the two abstractions make it possible to reduce memory-safety proofs to proofs about heap-less imperative programs that can be discharged using off-the-shelf software verification tools without built-in support for heap reasoning. Using an empirical evaluation on a broad range of programs, the paper shows that the reduction approach can effectively verify memory safety for sequential and concurrent programs operating on different kinds of linked data structures, including singly-linked, doubly-linked, and nested lists as well as trees.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper1
问问它们各自怎么用它它引用的顶会 Paper6
- Verifying concurrent search structure templatesSiddharth Krishna, Nisarg Patel, Dennis E. Shasha, Thomas WiesPLDI 2020 · 被引用 19 次
- Refinement for Structured Concurrent ProgramsBernhard Kragl, Shaz Qadeer, Thomas A. HenzingerCAV 2020 · 被引用 10 次
- Linear types for large-scale systems verificationJialin Li, Andrea Lattuada, Yi Zhou, Jonathan Cameron 等OOPSLA 2022 · 被引用 10 次
- A concurrent program logic with a future and historyRoland Meyer, Thomas Wies, Sebastian WolffOOPSLA 2022 · 被引用 9 次
- Pointer life cycle types for lock-free data structures with memory reclamationRoland Meyer, Sebastian WolffPOPL 2020 · 被引用 7 次
相关 Paper
- Deciding memory safety for single-pass heap-manipulating programsUmang Mathur, Adithya Murali, Paul Krogmeier, P. Madhusudan 等POPL 2020 · 被引用 11 次
- Verifying Tree-Manipulating Programs via CHCsMarco Faella, Gennaro ParlatoCAV 2025 · 被引用 1 次
- Abductive Inference of Separation Logic Specifications with Isorecursive User-Defined Predicates and Magic WandsNicolas Klose, Peter MüllerOOPSLA 2026 · 被引用 1 次
- A type system for extracting functional specifications from memory-safe imperative programsPaul He, Eddy Westbrook, Brent Carmer, Chris Phifer 等OOPSLA 2021 · 被引用 5 次
- A Dependent Nominal Physical Type System for Static Analysis of Memory in Low Level CodeJulien Simonnet, Matthieu Lemerre, Mihaela SighireanuOOPSLA 2024 · 被引用 4 次
