Pointer analysis

From Wikipedia, the free encyclopedia

In computer science pointer analysis, or points-to analysis, is a static code analysis technique that establishes which pointers, or heap references, can point to which variables or storage locations. It is often a component of more complex analyses such as escape analysis. A generalization of pointer analysis is shape analysis (software).

[edit] Introduction

Performing pointer analysis on all but the smallest of programs is a very resource intensive activity. Various simplifications have been made to reduce this overhead, the disadvantages of these simplifications is that the calculated set of objects pointed to may be larger than it is in practice.

Simplifications include:

Treating all references to a structured object as being to one object
Ignoring flow-of control when analysing which objects are assigned to pointers, known as context-insensitive pointer analysis or flow-insensitive pointer analysis

[edit] Algorithms

Andersen's algorithm

Binary Decision Diagrams

[edit] See also

Languages