Publication Details
Verifying Programs with Dynamic 1-Selector-Linked Structures in Regular Model Checking
formal verification, model checking, infinite-state systems, software verification, dynamic data structures
We address the problem of automatic verification of programs with dynamic data structures. We consider the case of sequential, non-recursive programs manipulating 1-selector-linked structures such as traditional linked lists (possibly sharing their tails) and circular lists. We propose an automata-based approach for a symbolic verification of such programs using the regular model checking framework. Given a program, the configurations of the memory are systematically encoded as words over a suitable finite alphabet, potentially infinite sets of configurations are represented by finite-state automata, and statements of the program are automatically translated into finite-state transducers defining regular relations between configurations. Then, abstract regular model checking techniques are applied in order to automatically check safety properties concerning the shape of the computed configurations or relating the input and output configurations. For this particular purpose, we introduce new techniques for the computation of abstractions of the set of reachable configurations and to refine these abstractions if spurious counterexamples are detected. Finally, we present experimental results showing the applicability of the approach and its efficiency.
@inproceedings{BUT32780,
author="Tomáš {Vojnar} and Ahmed {Bouajjani} and Peter {Habermehl} and Pierre {Moro}",
title="Verifying Programs with Dynamic 1-Selector-Linked Structures in Regular Model Checking",
booktitle="Tools and Algorithms for the Construction and Analysis of Systems",
year="2005",
series="Lecture Notes in Computer Science",
volume="3440",
pages="13--29",
publisher="Springer Verlag",
address="Berlin",
isbn="978-3-540-25333-4",
url="http://www.fit.vutbr.cz/~vojnar/Publications/bhmv-lists-05.ps.gz"
}