Formal Verification of Compiler Transformations on Polychronous Equations
In this paper, adopting the translation validation approach, we present a formal verification process to prove the correctness of compiler transformations on systems of polychronous equations. We encode the source programs and the transformations with polynomial dynamical systems and prove that the transformations preserve the abstract clocks and clock relations of the source programs. In order to carry out the correctness proof, an appropriate relation called refinement and an automated proof method are presented. Each individual transformation or optimization step of the compiler is followed by our validation process which proves the correctness of this running. The compiler will continue its work if and only if the correctness is proved positively. In this paper, the highly optimizing, industrial compiler from the synchronous language SIGNAL to C is addressed.
KeywordsFormal Verification Translation Validation Validated Compiler Multi-clocked Synchronous Programs Polychronous Model
Unable to display preview. Download preview PDF.