Lazy Shape Analysis

Authors Dirk Beyer, Thomas A. Henzinger, Grégory Théoduloz

Thumbnail PDF


  • Filesize: 366 kB
  • 16 pages

Document Identifiers

Author Details

Dirk Beyer
Thomas A. Henzinger
Grégory Théoduloz

Cite AsGet BibTex

Dirk Beyer, Thomas A. Henzinger, and Grégory Théoduloz. Lazy Shape Analysis. In Software Verification: Infinite-State Model Checking and Static Program Analysis. Dagstuhl Seminar Proceedings, Volume 6081, pp. 1-16, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2006)


Many software model checkers are based on predicate abstraction. If the verification goal depends on pointer structures, the approach does not work well, because it is difficult to find adequate predicate abstractions for the heap. In contrast, shape analysis, which uses graph-based heap abstractions, can provide a compact representation of recursive data structures. We integrate shape analysis into the software model checker BLAST. Because shape analysis is expensive, we do not apply it globally. Instead, we ensure that, like predicates, shape graphs are computed and stored locally, only where necessary for proving the verification goal. To achieve this, we extend lazy abstraction refinement, which so far has been used only for predicate abstractions, to three-valued logical structures. This approach does not only increase the precision of model checking, but it also increases the efficiency of shape analysis. We implemented the technique by extending BLAST with calls to TVLA.
  • Software model checking
  • Shape analysis
  • Counterexample-guided abstraction refinement
  • Interpolation
  • Predicate abstraction


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads