scispace - formally typeset
Open AccessProceedings Article

On the Equivalence of Two Systems of Affine Recurrence Equations (Research Note)

Denis Barthou, +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

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

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

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

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

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.
Related Papers (5)