Publication Details
Pattern-Based Verification of Programs with Extended Linear Linked Data Structures
formal verification, program analysis, dynamic linked data structures
The paper deals with the problem of automatic verification of programs with dynamic linked data structures. In particular, the use of pattern-based abstraction of memory configurations is considered. In this approach, one can abstract memory configurations by abstracting away the exact number of adjacent occurrences of certain memory patterns. The paper extends the state-of-the-art in this area by proposing a fully automatic and efficient way of detecting the memory patterns to be used from the memory configurations that the program at hand is generating. The method targets programs manipulating a broad class of extended linear linked data structures having a linear skeleton (possibly bidirectionally-linked or cyclic) with certain additional pointers defined on top of it, which covers many practical dynamic data structures (such as lists, doubly-linked lists, cyclic lists, lists with tail/head pointers, etc.). The experimental results obtained from a prototype implementation of the method show that the method is very competitive and offers a big potential for future extensions.
@article{BUT45072,
author="Tomáš {Vojnar} and Milan {Češka} and Pavel {Erlebach}",
title="Pattern-Based Verification of Programs with Extended Linear Linked Data Structures",
journal="ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE",
year="2006",
volume="2006",
number="145",
pages="113--130",
issn="1571-0661"
}