1. A method of data reshaping for multidimensional dynamic array objects in the presence of multiple object instantiations, comprising: collecting all alias information using interprocedural pointer escape analysis; collecting all shape information using interprocedural shape analysis; selecting the candidate dynamic objects based on alias and shape analysis and determining the types of data reshaping for the candidate dynamic objects; creating object descriptors for selected dynamic objects with multiple object instantiations; updating the memory allocation operations for the selected dynamic objects and inserting statements to initialize the object descriptors; creating the copy of the object descriptors for selected dynamic object assignments; and replacing the object references by array indexed references for selected dynamic objects using objects descriptors.