Interprocedural array side effect analysis
Tsalapatas, Hariklia Aris
Master of Science
In the absence of better information worst case assumptions must be made for the side effects of calls on arrays. Interprocedural array side effect analysis computes the side effects of calls on array variables. The results enhance the precision of dependence testing and enable interprocedural transformations. This thesis presents and evaluates an interprocedural array side effect analysis more precise than existing efficient solutions, yet not as expensive as the precise methods. Array shapes are described by simple sections. The diagonal information available in simple sections allows precise representation of array shapes commonly encountered in practice. Most operations on simple sections are quadratic in the number of dimensions of the sections. Given that the number of dimensions of arrays used in practice is small, operations on simple sections are very efficient. The thesis focuses on the MOD, REF, and KILL data flow problems for arrays. The results are used to perform array privatization.