Systematic Design of Separation Logics

📅 2026-05-20
📈 Citations: 0
Influential: 0
📄 PDF

career value

206K/year
🤖 AI Summary
Existing program logics based on abstract interpretation struggle to systematically handle the principle of locality in heap manipulations and lack a unified approach for deriving local axioms equipped with frame rules. This work proposes a general method that, starting from program semantics and leveraging semantic closure properties, automatically derives separation logic axioms inherently capturing locality and frame rules without syntactic restrictions. The approach enables, for the first time, parameterized and systematic generation of both local axioms and frame rules, uniformly supporting over-approximate and under-approximate reasoning. It is compatible with diverse memory models and logical variants, and establishes a unified framework encompassing both correctness and incorrectness reasoning—successfully demonstrated in the design of novel logics and the derivation of necessary preconditions.
📝 Abstract
Thanks to the locality principle, separation logics support modular, scalable analysis of large codebases by relying on local axioms and frame rules to focus only on the heap fragments required for verification. However, depending on the direction (forward vs. backward) and sense of approximation (over vs. under) of the analysis, designing the corresponding proof systems can require some ingenuity. In his work on the calculational design of program logics, Patrick Cousot outlines a methodology for deriving proof systems directly from program semantics using abstract interpretation, covering both correctness and incorrectness analyses. Unfortunately, when applied to heap-manipulating programs, Cousot's calculational approach cannot handle the locality principle, because it does not provide a calculational way to derive frame rules and produces axioms that refer to the global heap. In this paper, we propose a general methodology for systematically deriving local axioms in which the locality principle is embedded by construction. For heap-manipulating primitives, we can derive the minimal required heap and the corresponding pre- and postconditions, complemented by universal frame rules without additional syntactic side conditions. Our method is parametric w.r.t. a set of semantic closure properties that are exploited to design local axioms; it can deal with different memory models; it favors the reuse of many inference rules across over- and under-approximation; and it produces logical systems capable of deriving a broader range of triples w.r.t. existing, cleverly designed, program logics for (in)correctness, ranging from Separation Logic and Incorrectness Separation Logic to Separation Sufficient Incorrectness Logic. Furthermore, we demonstrate the flexibility of our methodology by applying it to design a novel proof system for inferring necessary preconditions with separation logic.
Problem

Research questions and friction points this paper is trying to address.

separation logic
locality principle
abstract interpretation
heap-manipulating programs
frame rule
Innovation

Methods, ideas, or system contributions that make the work stand out.

separation logic
abstract interpretation
locality principle
frame rule
program verification
🔎 Similar Papers
No similar papers found.