Logical characterizations of heap abstractions
Authors:
Open Access
- 1 January 2007
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computational Logic
- Vol. 8 (1)
Abstract
Shape analysis concerns the problem of determining “shape invariants” for programs that perform destructive updating on dynamically allocated storage. In recent work, we have shown how shape analysis can be performed using an abstract interpretation based on three-valued first-order logic. In that work, concrete stores are finite two-valued logical structures, and the sets of stores that can possibly arise during execution are represented (conservatively) using a certain family of finite three-valued logical structures. In this article, we show how three-valued structures that arise in shape analysis can be characterized using formulas in first-order logic with transitive closure. We also define a nonstandard (“supervaluational”) semantics for three-valued first-order logic that is more precise than a conventional three-valued semantics, and demonstrate that the supervaluational semantics can be implemented using existing theorem provers.Keywords
This publication has 48 references indexed in Scilit:
- Simulating Reachability Using First-Order Logic with Applications to Verification of Linked Data Structures2005
- Hob: A Tool for Verifying Data Structure Consistency2005
- Boolean Algebra of Shape Analysis ConstraintsLecture Notes in Computer Science, 2004
- Parametric shape analysis via 3-valued logicACM Transactions on Programming Languages and Systems, 2002
- Projection merging2000
- Solving shape-analysis problems in languages with destructive updatingACM Transactions on Programming Languages and Systems, 1998
- Parallelizing programs with recursive data structuresIEEE Transactions on Parallel and Distributed Systems, 1990
- On languages with two variablesMathematical Logic Quarterly, 1975
- Monadic generalized spectraMathematical Logic Quarterly, 1975
- Singular Terms, Truth-Value Gaps, and Free LogicThe Journal of Philosophy, 1966