A New Approach to Pointer Analysis for Assignments
-
Abstract
Pointer analysis is a technique to identify at compile-time thepotential values of the pointer expressions in a program, which promisessignificant benefits for optimizing and parallelizing compilers. In thispaper, a new approach to pointer analysis for assignments is presented.In this approach, assignments are classified into three categories:pointer assignments, structure (union) assignments and normalassignments which don't affect the point-to information. Pointeranalyses for these three kinds of assignments respectively make up theintegrated algorithm. When analyzing a pointer assignment, a new methodcalled expression expansion is used to calculate both the left targetsand the right targets. The integration of recursive data structureanalysis into pointer analysis is a significant originality of thispaper, which uniforms the pointer analysis for heap variables and thepointer analysis for stack variables. This algorithm is implemented inAgassiz, an analyzing tool for C programs developed by Institute ofParallel Processing, Fudan University. Its accuracy and effectivenessare illustrated by experimental data.
-
-