A Relational Approach to Interprocedural Shape Analysis

B. Jeannet, A. Loginov, T. Reps, and M. Sagiv

This paper addresses the verification of properties of imperative programs with recursive procedure calls, heap-allocated storage, and destructive updating of pointer-valued fields -- i.e., interprocedural shape analysis. It presents a way to apply some previously known approaches to interprocedural dataflow analysis -- which in past work have been applied only to a much less rich setting -- so that they can be applied to programs that use heap-allocated storage and perform destructive updating.

(Click here to access the paper: PostScript, PDF.)