Next: Strong Updates Up: Efficient Context-Sensitive Pointer Analysis Previous: Points-to Functions

Analyzing a Procedure

We use an iterative data-flow analysis to find the points-to functions within a procedure. In this section, we only discuss the process of analyzing procedures with no call statements.

Figure 8 shows our data-flow algorithm. We simply iterate through all the nodes in a procedure's flow graph until none of the points-to values change. We visit the nodes in reverse postorder, because it is important to know the input values before evaluating a node. This strategy is much simpler than a worklist algorithm, and it handles unstructured control flow with no extra effort.




Next: Strong Updates Up: Efficient Context-Sensitive Pointer Analysis Previous: Points-to Functions


Bob Wilson