Shape Analysis
Reinhard Wilhelm, Mooly Sagiv, and Thomas Reps
A shape-analysis algorithm statically analyzes a program to determine
information about the heap-allocated data structures
that the program manipulates.
The results can be used to understand or verify programs.
They also contain information valuable for debugging,
compile-time garbage collection,
instruction scheduling, and parallelization.
(Click here to access the paper:
PostScript,
PDF.)