However, the total number of types is still bound in a program, and a prefix can subsume a suffix path as long as they have partial overlaps in associated types. [0058] Based on the previously illustrated definitions of access paths and path-based points-to relations, there are two major tasks performed in the intraprocedural stage of the invention: code transformation and pointer analysis.