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