 
Summary: Automatic Verification of Dynamic
DataDependent Programs
Parosh Aziz Abdulla1
, Muhsin Atto1
, Jonathan Cederberg1
, Ran Ji1
.
1
Uppsala University, Sweden.
Abstract. We present a new approach for automatic verification of
datadependent programs manipulating dynamic heaps. A heap is en
coded by a graph where the nodes represent the cells, and the edges
reflect the pointer structure between the cells of the heap. Each cell
contains a set of variables which range over the natural numbers. Our
method relies on standard backward reachability analysis, where the
main idea is to use a simple set of predicates, called signatures, in order
to represent bad sets of heaps. Examples of bad heaps are those which
contain either garbage, lists which are not wellformed, or lists which are
not sorted. We present the results for the case of programs with a single
nextselector, and where variables may be compared for equality or in
