1. A computer implemented method of data flow analysis comprising the steps of: executing a program on a computer, wherein said program employs pointers, and objects are allocated in a memory by said program, said objects being referenced by said pointers; statically calculating sizes allocated to said objects at allocation sites in said program; performing a pointer alias analysis of said program to estimate object lifetimes, wherein said estimated object lifetimes do not exceed respective actual lifetimes of said objects; and responsive to said pointer alias analysis and said step of statically calculating sizes, assigning said objects to one of a first group and a second group.