Shape analysis for composite data structures

Josh Berdine, Cristiano Calcagno, Byron Cook, Dino Distefano, Peter W. O'Hearn, Thomas Wies, Hongseok Yang

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

We propose a shape analysis that adapts to some of the complex composite data structures found in industrial systems-level programs. Examples of such data structures include "cyclic doubly-linked lists of acyclic singly-linked lists", "singly-linked lists of cyclic doubly-linked lists with back-pointers to head nodes", etc. The analysis introduces the use of generic higher-order inductive predicates describing spatial relationships together with a method of synthesizing new parameterized spatial predicates which can be used in combination with the higher-order predicates. In order to evaluate the proposed approach for realistic programs we have performed experiments on examples drawn from device drivers: the analysis proved safety of the data structure manipulation of several routines belonging to an IEEE 1394 (firewire) driver, and also found several previously unknown memory safety bugs.

Original languageEnglish (US)
Title of host publicationComputer Aided Verification - 19th International Conference, CAV 2007, Proceedings
PublisherSpringer Verlag
Pages178-192
Number of pages15
ISBN (Print)3540733671, 9783540733676
DOIs
StatePublished - 2007
Event19th International Conference on Computer Aided Verification, CAV 2007 - Berlin, Germany
Duration: Jul 3 2007Jul 7 2007

Publication series

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

Other

Other19th International Conference on Computer Aided Verification, CAV 2007
Country/TerritoryGermany
CityBerlin
Period7/3/077/7/07

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Shape analysis for composite data structures'. Together they form a unique fingerprint.

Cite this