Title :
Functional equivalence checking for verification of algebraic transformations on array-intensive source code
Author :
Shashidhar, K.C. ; Bruynooghe, Maurice ; Catthoor, Francky ; Janssens, Gerda
Author_Institution :
Faculteit Toegepaste Wetenschappen, Katholieke Univ., Leuven, Belgium
Abstract :
The development of energy and performance-efficient embedded software increasingly relies on the application of complex transformations on critical parts of the source code. Designers applying such nontrivial source code transformations are often faced with the problem of ensuring functional equivalence of the original and transformed programs. Currently, they have to rely on incomplete and time-consuming simulation. Formal automatic verification of the transformed program against the original is desirable instead. This calls for equivalence checking tools similar to the ones available for comparing digital circuits. We present such a tool to compare array-intensive programs related through a combination of important global transformations like expression propagations, loop and algebraic transformations. When the transformed program fails to pass the equivalence check, the tool provides specific feedback on the possible locations of errors.
Keywords :
embedded systems; formal verification; software tools; algebraic transformation verification; array-intensive source code; compiler; complex transformations; embedded software development; equivalence checking tools; expression propagations; formal automatic verification; formal verification; functional equivalence checking; loop transformations; source code transformations; Application software; Circuit simulation; Design optimization; Digital circuits; Embedded software; Feedback; Mobile computing; Optimizing compilers; Program processors; Signal processing algorithms;
Conference_Titel :
Design, Automation and Test in Europe, 2005. Proceedings
Print_ISBN :
0-7695-2288-2
DOI :
10.1109/DATE.2005.163