Skip to main navigation Skip to search Skip to main content

Local shape analysis for overlaid data structures

  • University of Freiburg
  • Laboratoire de Probabilités et Modèles Aléatoires

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

We present a shape analysis for programs that manipulate overlaid data structures which share sets of objects. The abstract domain contains Separation Logic formulas that (1) combine a per-object separating conjunction with a per-field separating conjunction and (2) constrain a set of variables interpreted as sets of objects. The definition of the abstract domain operators is based on a notion of homomorphism between formulas, viewed as graphs, used recently to define optimal decision procedures for fragments of the Separation Logic. Based on a Frame Rule that supports the two versions of the separating conjunction, the analysis is able to reason in a modular manner about non-overlaid data structures and then, compose information only at a few program points, e.g., procedure returns. We have implemented this analysis in a prototype tool and applied it on several interesting case studies that manipulate overlaid and nested linked lists.

Original languageEnglish
Title of host publicationStatic Analysis - 20th International Symposium, SAS 2013, Proceedings
Pages150-171
Number of pages22
DOIs
Publication statusPublished - 26 Sept 2013
Externally publishedYes
Event20th International Static Analysis Symposium, SAS 2013 - Seattle, WA, United States
Duration: 20 Jun 201322 Jun 2013

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume7935 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference20th International Static Analysis Symposium, SAS 2013
Country/TerritoryUnited States
CitySeattle, WA
Period20/06/1322/06/13

Fingerprint

Dive into the research topics of 'Local shape analysis for overlaid data structures'. Together they form a unique fingerprint.

Cite this