Skip to Main content Skip to Navigation
Journal articles

Formal Verification of Synchronous Data-flow Program Transformations Toward Certified Compilers

van Chan Ngo 1 Loïc Besnard 1 Paul Le Guernic 1 Jean-Pierre Talpin 1 Thierry Gautier 1 
1 ESPRESSO - Synchronous programming for the trusted component-based engineering of embedded systems and mission-critical systems
IRISA - Institut de Recherche en Informatique et Systèmes Aléatoires, Inria Rennes – Bretagne Atlantique
Abstract : Translation validation was introduced in the 90's by Pnueli et al. as a technique to formally verify the correctness of code generators. Rather than certifying the code generator or exhaustively qualifying it, translation validators attempt to verify that program transformations preserve semantics. In this work, we adopt this approach to formally verify that the clock semantics and data dependence are preserved during the compilation of the Signal compiler. Translation validation is implemented for every compilation phase from the initial phase until the latest phase where the executable code is generated, by proving that the transformation in each phase of the compiler preserves the semantics. We represent the clock semantics, the data dependence of a program and its transformed counterpart as first-order formulas which are called Clock Models and Synchronous Dependence Graphs (SDGs), respectively. Then we introduce clock refinement and dependence refinement relations which express the preservation of clock semantics and dependence, as a relation on clock models and SDGs, respectively. Our validator does not require any instrumentation or modification of the compiler, nor any rewriting of the source program.
Document type :
Journal articles
Complete list of metadata

Cited literature [34 references]  Display  Hide  Download
Contributor : Van Chan Ngo Connect in order to contact the contributor
Submitted on : Thursday, July 18, 2013 - 5:50:57 PM
Last modification on : Friday, February 4, 2022 - 3:12:44 AM
Long-term archiving on: : Wednesday, April 5, 2017 - 2:58:04 PM


Files produced by the author(s)


  • HAL Id : hal-00846279, version 1


van Chan Ngo, Loïc Besnard, Paul Le Guernic, Jean-Pierre Talpin, Thierry Gautier. Formal Verification of Synchronous Data-flow Program Transformations Toward Certified Compilers. Frontiers of Computer Science, Springer Verlag, 2013. ⟨hal-00846279⟩



Record views


Files downloads