Equivalence Checking of Static Affine Programs Using Widening to Handle Recurrences

  • Authors:
  • Sven Verdoolaege;Gerda Janssens;Maurice Bruynooghe

  • Affiliations:
  • Department of Computer Science, Katholieke Universiteit Leuven, Leuven, Belgium B-3001;Department of Computer Science, Katholieke Universiteit Leuven, Leuven, Belgium B-3001;Department of Computer Science, Katholieke Universiteit Leuven, Leuven, Belgium B-3001

  • Venue:
  • CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Designers often apply manual or semi-automatic loop and data transformations on array and loop intensive programs to improve performance. The transformations should preserve the functionality, however, and this paper presents an automatic method for constructing equivalence proofs for the class of static affine programs. The equivalence checking is performed on a dependence graph abstraction and uses a new approach based on widening to handle recurrences. Unlike transitive closure based approaches, this widening approach can also handle non-uniform recurrences. The implementation is publicly available and is the first of its kind to fully support commutative operations.