Detection of Recurrences in Sequential Programs with Loops

To improve the performances of parallelizing compilers, one must detect recurrences in scientific programs and subject them to special parallelization methods. We present a method for detecting recurrences which is based on the analysis of Systems of Recurrence Equations. This method identifies recurrences on arrays, recurrences of arbitrary order and multi-equations recurrences. We explain how to associate a SRE to a restricted class of imperative programs. We present a normalization of such SRE that allows the detection of recurrences by simple inspection of equations. When detected, a recurrence may be replaced by a symbolic expression of its solution. To iterate the process can lead to the identification of multi-dimensional recurrences.