Open AccessProceedings Article
On the Equivalence of Two Systems of Affine Recurrence Equations (Research Note)
Denis Barthou,Paul Feautrier,Xavier Redon +2 more
- pp 309-313
TLDR
It is proved that in the general case, the problem is undecidable, but there nevertheless exists a semi-decision procedure, in which the key ingredient is the computation of transitive closures of affine relations.Abstract:
This paper deals with the problem of deciding whether two Systems of Affine Recurrence Equations are equivalent or not. A solution to this problem would be a step toward algorithm recognition, an important tool in program analysis, optimization and parallelization. We first prove that in the general case, the problem is undecidable. We then show that there nevertheless exists a semi-decision procedure, in which the key ingredient is the computation of transitive closures of affine relations. This is a non-effective process which has been extensively studied. Many partial solutions are known. We then report on a pilot implementation of the algorithm, describe its limitations, and point to unsolved problems.read more
Citations
More filters
Journal ArticleDOI
SPIRAL: Code Generation for DSP Transforms
Markus Püschel,Jose M. F. Moura,Jeremy Johnson,David Padua,Manuela Veloso,Bryan Singer,Jianxin Xiong,Franz Franchetti,A. Gacic,Yevgen Voronenko,K. Chen,R. W. Johnson,Nick Rizzolo +12 more
TL;DR: SPIRAL generates high-performance code for a broad set of DSP transforms, including the discrete Fourier transform, other trigonometric transforms, filter transforms, and discrete wavelet transforms.
Journal ArticleDOI
Equivalence checking of static affine programs using widening to handle recurrences
TL;DR: In this article, the equivalence checking is performed on a dependence graph abstraction and uses a new approach based on widening to find the proper induction hypotheses for reasoning about recurrences.
Book ChapterDOI
Verification of source code transformations by program equivalence checking
TL;DR: This paper describes a method to prove equivalence between two programs in DSA where subscripts to array variables and loop bounds are (piecewise) affine expressions.
Journal ArticleDOI
Automatic equivalence checking of programs with uninterpreted functions and integer arithmetic
Nuno P. Lopes,José Monteiro +1 more
TL;DR: This paper proposes the first semi-algorithm for the automatic verification of partial equivalence of two programs over the combined theory of uninterpreted function symbols and integer arithmetic (UF+IA), and shows that it can prove more optimizations correct than state-of-the-art techniques.
Journal ArticleDOI
Verification of Loop and Arithmetic Transformations of Array-Intensive Behaviors
TL;DR: A slice-based equivalence checking method of array data dependence graphs (ADDGs) is proposed that is strong enough to handle several arithmetic transformations along with all kinds of loop transformations.
References
More filters
Book
Term rewriting and all that
Franz Baader,Tobias Nipkow +1 more
TL;DR: This chapter discusses abstract reduction systems, universal algebra, and Grobner bases and Buchberger's algorithm, and a bluffer's guide to ML Bibliography Index.
BookDOI
Handbook of Formal Languages
Grzegorz Rozenberg,Arto Salomaa +1 more
TL;DR: This first handbook of formal languages gives a comprehensive up-to-date coverage of all important aspects and subareas of the field.
Journal ArticleDOI
Dataflow analysis of array and scalar references
TL;DR: This paper presents an algorithm for analyzing the patterns along which values flow as the execution proceeds, and discusses several applications of the method: conversion of a program to a set of recurrence equations, array and scalar expansion, program verification and parallel program construction.
Book
Scheduling and automatic parallelization
TL;DR: Scheduling DAGs without Communications, Parallelism Detection in Nested Loops, and Systems of Uniform Recurrence Equations.
Book ChapterDOI
Symbolic Verification with Periodic Sets
Bernard Boigelot,Pierre Wolper +1 more
TL;DR: This paper introduces a representation of complex periodic sets of integer values, shows how this representation can be manipulated, and describes its application to the state-space exploration of protocols.