Pointer analysis
Encyclopedia
In computer science
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...

 pointer analysis, or points-to analysis, is a static code analysis
Static code analysis
Static program analysis is the analysis of computer software that is performed without actually executing programs built from that software In most cases the analysis is performed on some version of the source code and in the other cases some form of the object code...

 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
Escape analysis
In programming language compiler optimization theory, escape analysis is a method for determining the dynamic scope of pointers. It is related to pointer analysis and shape analysis....

. A generalization of pointer analysis is shape analysis
Shape analysis (software)
In program analysis, a shape analysis is a static code analysis technique that discovers and verifies properties of linked, dynamically allocated data structures in computer programs. It is typically used at compile time to find software bugs or to verify high-level correctness properties of...

.

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 (when ignoring the context in which function calls are made) or flow-insensitive pointer analysis (when ignoring the control flow within a procedure).
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK