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 object references by array indexed references for selected dynamic objects using object descriptors; wherein when a pointer assignment is met in the interprocedural pointer escape analysis, alias sets represented by a right hand side pointer and by a left hand side pointer are merged.