International audienceTranslation validation establishes a posteriori the correctness of a run of a compilation pass or other program transformation. In this paper, we develop an efficient translation validation algorithm for the Lazy Code Motion (LCM) optimization. LCM is an interesting challenge for validation because it is a global optimization that moves code across loops. Consequently, care must be taken not to move computations that may fail before loops that may not terminate. Our validator includes a specific check for anticipability to rule out such incorrect moves. We present a mechanically-checked proof of correctness of the validation algorithm, using the Coq proof assistant. Combining our validator with an unverified implementa...
International audienceSynchronous data-flow languages are used as design approaches in developing em...
International audienceThis paper reports on the correctness proof of compiler optimizations based on...
Computer software is typically written in one language and then translatedout of that language into ...
International audienceTranslation validation consists of transforming a program and a posteriori val...
As any piece of software, compilers, and especially optimizing compilers, can be faulty. It is there...
AbstractTranslation validation is a technique for ensuring that a translator, such as a compiler, pr...
AbstractThe paper presents approaches to the validation of optimizing compilers. The emphasis is on ...
Modern optimizing compilers such as LLVM and GCC are huge and complex, and mature releases routinely...
The translation validation approach involves establishing semantics preservation of individual compi...
AbstractTranslation Validation is a technique for ensuring that the target code produced by a transl...
International audienceSoftware pipelining is a loop optimization that overlaps the execution of seve...
Most software systems are described in high-level model or programming languages. Their runtime beha...
International audienceTranslation validation was introduced in the 90's by Pnueli et al. as a techni...
International audienceGiven the complexity and sophistication of code generation and optimization al...
Translation validation is a technique that verifies the re-sults of every run of a translator, such ...
International audienceSynchronous data-flow languages are used as design approaches in developing em...
International audienceThis paper reports on the correctness proof of compiler optimizations based on...
Computer software is typically written in one language and then translatedout of that language into ...
International audienceTranslation validation consists of transforming a program and a posteriori val...
As any piece of software, compilers, and especially optimizing compilers, can be faulty. It is there...
AbstractTranslation validation is a technique for ensuring that a translator, such as a compiler, pr...
AbstractThe paper presents approaches to the validation of optimizing compilers. The emphasis is on ...
Modern optimizing compilers such as LLVM and GCC are huge and complex, and mature releases routinely...
The translation validation approach involves establishing semantics preservation of individual compi...
AbstractTranslation Validation is a technique for ensuring that the target code produced by a transl...
International audienceSoftware pipelining is a loop optimization that overlaps the execution of seve...
Most software systems are described in high-level model or programming languages. Their runtime beha...
International audienceTranslation validation was introduced in the 90's by Pnueli et al. as a techni...
International audienceGiven the complexity and sophistication of code generation and optimization al...
Translation validation is a technique that verifies the re-sults of every run of a translator, such ...
International audienceSynchronous data-flow languages are used as design approaches in developing em...
International audienceThis paper reports on the correctness proof of compiler optimizations based on...
Computer software is typically written in one language and then translatedout of that language into ...