Logical characterizations of heap abstractions

Greta Yorsh*, Thomas Reps, Mooly Sagiv, Reinhard Wilhelm

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

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.

Original languageEnglish
Article number5
JournalACM Transactions on Computational Logic
Volume8
Issue number1
DOIs
StatePublished - 1 Jan 2007

Keywords

  • Canonical abstraction
  • Characterization
  • Logic
  • Shape analysis

Fingerprint

Dive into the research topics of 'Logical characterizations of heap abstractions'. Together they form a unique fingerprint.

Cite this