Computer software is typically written in one language and then translatedout of that language into the native binary languages of the machines thesoftware will run on. Most operating systems, for instance, are written in thelow-level language C and translated by a C compiler. Translationvalidation is the act of checking that this translation is correct. Thisdissertation presents an approach and framework for validating the translationof C programs, and three experiments which test the approach. Our validation approach consists of three components, a frontend, a backend anda core, which broadly mirrors the design of the C compiler. The threeexperiments in this dissertation exercise these three components. Each of thesecomponents produces a ...
AbstractTranslation Validation is a technique for ensuring that the target code produced by a transl...
Abstract. There is a growing awareness, both in industry and academia, of the crucial role of formal...
Compilers, and especially optimizing compilers, are complicated programs. Bugs in compilers happen, ...
AbstractThere is a growing awareness, both in industry and academia, of the crucial role of formally...
Most software systems are described in high-level model or programming languages. Their runtime beha...
AbstractCorrectness of compilation is important for the reliability of software. New techniques to g...
Correctness of compilation is important for the reliability of software. New techniques to guarantee...
In this paper, we show how refinement calculus provides a basis for translation validation of optimi...
Modern optimizing compilers such as LLVM and GCC are huge and complex, and mature releases routinely...
A translation contract is a binary predicate corrTransl(S,T) for source programs S and target progra...
AbstractIn this paper, we show how refinement calculus provides a basis for translation validation o...
Abstract. Translation validation is a technique for formally establish-ing the semantic equivalence ...
International audienceThe aim of this presentation is to demonstrate a scalable, modular, refinable ...
As any piece of software, compilers, and especially optimizing compilers, can be faulty. It is there...
There is a growing awareness, both in industry and academia, of the crucial role of formally verifyi...
AbstractTranslation Validation is a technique for ensuring that the target code produced by a transl...
Abstract. There is a growing awareness, both in industry and academia, of the crucial role of formal...
Compilers, and especially optimizing compilers, are complicated programs. Bugs in compilers happen, ...
AbstractThere is a growing awareness, both in industry and academia, of the crucial role of formally...
Most software systems are described in high-level model or programming languages. Their runtime beha...
AbstractCorrectness of compilation is important for the reliability of software. New techniques to g...
Correctness of compilation is important for the reliability of software. New techniques to guarantee...
In this paper, we show how refinement calculus provides a basis for translation validation of optimi...
Modern optimizing compilers such as LLVM and GCC are huge and complex, and mature releases routinely...
A translation contract is a binary predicate corrTransl(S,T) for source programs S and target progra...
AbstractIn this paper, we show how refinement calculus provides a basis for translation validation o...
Abstract. Translation validation is a technique for formally establish-ing the semantic equivalence ...
International audienceThe aim of this presentation is to demonstrate a scalable, modular, refinable ...
As any piece of software, compilers, and especially optimizing compilers, can be faulty. It is there...
There is a growing awareness, both in industry and academia, of the crucial role of formally verifyi...
AbstractTranslation Validation is a technique for ensuring that the target code produced by a transl...
Abstract. There is a growing awareness, both in industry and academia, of the crucial role of formal...
Compilers, and especially optimizing compilers, are complicated programs. Bugs in compilers happen, ...