Verification of source code transformations by program equivalence checking

  • Authors:
  • K. C. Shashidhar;Maurice Bruynooghe;Francky Catthoor;Gerda Janssens

  • Affiliations:
  • Interuniversitair Micro-Elektronica Centrum (IMEC) vzw, Leuven, Belgium;Departement Computerwetenschappen, Katholieke Universiteit Leuven, Belgium;Interuniversitair Micro-Elektronica Centrum (IMEC) vzw, Leuven, Belgium;Departement Computerwetenschappen, Katholieke Universiteit Leuven, Belgium

  • Venue:
  • CC'05 Proceedings of the 14th international conference on Compiler Construction
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Typically, a combination of manual and automated transformations is applied when algorithms for digital signal processing are adapted for energy and performance-efficient embedded systems. This poses severe verification problems. Verification becomes easier after converting the code into dynamic single-assignment form (DSA). 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. For such programs, geometric modeling can be used and it can be shown, for groups of elements at once, that the outputs in both programs are the same function of the inputs.