Patent ID: 7039908

Claim:
A computer-implemented method for points-to analysis using at least three levels of subtyping in an optimizing compiler, comprising: assigning a first location type to one of a variable and an expression in a computer program, wherein the assigning of the first location type includes assigning a first location type that has exactly one location type supertype representing the abstract locations represented by the first location type, and wherein the location type supertype represents other memory locations that are not represented by the first location type; assigning a supertype component to a data constructor associated with the first location type, wherein the supertype component has the location type representing the set of abstract location represented by the first location type, and wherein the location type supertype represents other memory location that are not represented by the first location type; assigning a reader component to a data constructor associated with the first location type, whereby the reader component has a second location type; and assigning a writer component to a data constructor associated with the first location type, whereby the writer component has a third location type.