Share this page
Share this page E-mail this page Print this page RSS feeds
Home > Publications > Shape Analysis for Composite Data Structures
Shape Analysis for Composite Data Structures

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.

safcds.pdf
PDF file

In: Computer Aided Verification, 19th International Conference, CAV 2007, Berlin, Germany, July 3-7, 2007, Proceedings

Publisher: Springer

Details

Type: Inproceedings
Pages: 178-192
Volume: 4590
Series: Lecture Notes in Computer Science
ISBN: 978-3-540-73367-6

Previous Versions

Josh Berdine, Cristiano Calcagno, Byron Cook, Dino Distefano, Peter O'Hearn, Thomas Wies, and Hongseok Yang. Shape Analysis for Composite Data Structures, Springer-Verlag, January 2007.