In [[computer science]], '''Array access analysis''' is one ofa [[compiler analysis]] used to decide the read and write access patterns to elements or portions of arrays.
The major data type manipulated in scientific programs is obviouslythe array. The define/use analysis on a whole array is insufficent tofor aggressive [[compiler optimization]]s likesuch as [[auto parallelization]] and [[array privatization]]. Array access analyis aims to getobtain the knowledge of which portionportions or even which elements of the array isare accessed by a certaingiven code segment ([[basic block]], [[loop]]s, or even at the [[procedure]] level).
Array access analysis can be largely categoriedcategorized into exact (or reference-list-based) and summary methods for the different tradeofftradeoffs of accuracy and complexity. Exact methods are precise but very costly in terms of computation and space storage, while summary methods are approximate but can be donecomputed fastquickly and economically.
Typical exact array access analyis are:include linearization and [[atom images]]. Summary methods can be further divided into [[array sections]], bounded regular sections using [[triplet notation]], linear-constraint methods such as data access descriptors and [[array region analysis]].