Skip to Main content Skip to Navigation

Formal verification of translation validators

Abstract : As any piece of software, compilers, and especially optimizing compilers, can be faulty. It is therefore possible that the semantics of a program is changed by the compilation, along with its properties. In the context of critical software, where formal methods are used to ensure that a program satisfies some properties, possibly before it is compiled, this presents a problem. A solution to this problem is to verify the compiler itself by ensuring that it preserves the semantics of the programs being compiled. In this thesis, we evaluate a new method for building verified compiler passes, the formal verification of translation validators. On the one hand, this method uses formal verification based on proof-assistant in order to offer the best safety guarantees on the compiler. On the other hand, it relies on the use of translation validation, where each execution of the compiler is verified a posteriori, a more pragmatic verification method which allows for the verification of advanced optimizations. We show that this novel approach to the problem of verifying compilers is viable, and even advantageous in some cases, through four examples of optimizations that are both realistic and aggressive: list scheduling, trace scheduling, lazy code motion and software pipelining.
Document type :
Complete list of metadata

Cited literature [63 references]  Display  Hide  Download
Contributor : Jean-Baptiste Tristan Connect in order to contact the contributor
Submitted on : Monday, November 30, 2009 - 11:39:25 PM
Last modification on : Friday, February 4, 2022 - 3:08:11 AM
Long-term archiving on: : Thursday, June 17, 2010 - 8:19:36 PM


  • HAL Id : tel-00437582, version 1



Jean-Baptiste Tristan. Formal verification of translation validators. Génie logiciel [cs.SE]. Université Paris-Diderot - Paris VII, 2009. Français. ⟨tel-00437582⟩



Record views


Files downloads