1. A non-transitory computer accessible memory medium that stores program instructions executable by a processor to implement: storing a program, wherein the program comprises a plurality of program structures and one or more data objects, and wherein each of the one or more data objects is shared by a respective at least two of the plurality of program structures; for each program structure of the plurality of program structures, analyzing decomposition effects on each of the one or more data objects shared by the program structure resulting from each of a respective one or more optimizing transforms applied to the program structure, wherein said analyzing is performed in context of the program structure and independent of other program structures in the program; and determining, based on said analyzing, one or more groups of correlated structures, each group comprising: two or more program structures that share at least one data object; and at least one optimizing transform that is compatible with respect to the two or more program structures and the shared at least one data object; wherein, for at least one group of correlated structures, the at least one optimizing transform is usable to transform the two or more program structures to meet a specified optimization objective.