Patent ID: 7003760

Claim:
A computer-implemented method for enhancing pointer analysis, the method comprising: processing an assignment statement between two variables in a program, wherein processing the assignment statement includes forming a relationship between two locations that are related to the two variables, wherein the two locations are selected to be one level of indirection away from a level associated with the assignment statement, wherein each location includes a label and a content; defining a flow edge at the one level of indirection away from the level associated with the assignment statement; associating the flow edge with the first one of two locations and the second one of two locations, wherein the flow edge is configured to propagate a label of the first one of the two locations to a label of the second one of the two locations such that the label of the first one of the two locations is a subset of the second one of the two locations; and selectively unifying the content of the first one of the two locations with the content of the second one of the two locations.