Computer checked proofs that a compiler is correct are important for increasing the confidence in programs. This report presents a simple compiler and a proof that the compiler is correct for terminating evaluations using the interactive theorem prover Lean, based on Concrete Semantics: with Isabelle/HOL. The compiler compiles a simple imperative language defined by a big-step semantics, to a stack machine defined by a small-step semantics. The proof is done by induction on the big-step semantics. Because the compiler, semantics and proofs are all written in and check by Lean, we can have great confidence that the proof, and by extension, the compiler is correct. The aim is that the proof is understandable for people new to program (and esp...
Developing a verifying compiler---a compiler that proves that components are correct with respect to...
Developing a verifying compiler---a compiler that proves that components are correct with respect to...
The paper shows how compiler correctness can be proved, provided that semanticsof the source languag...
AbstractCorrectness of compilation is important for the reliability of software. New techniques to g...
AbstractWe study issues in verifying compilers for modern imperative and object-oriented languages. ...
Abstract. Reasoning about programming languages with non-deter-ministic semantics entails many diffi...
This paper sketches a rigorous correctness proof of a compiler executable. We will emphasize the cen...
Correctness of compilation is important for the reliability of software. New techniques to guarantee...
Abstract. Much work has been done in verifying a compiler specification, both in hand-written and me...
Abstract. In this article, we describe a framework for formally verify-ing the correctness of compil...
Correct software requires compilers to work correctly. Especially code generation can be an error pr...
International audienceGiven the complexity and sophistication of code generation and optimization al...
Thesis (Ph.D.)--University of Washington, 2018Modern computer systems rely on the correctness of at ...
This paper presents an approach to compiler correctness in which the compiler generates a proof that...
<p>Formal verification involves the use of logical and computational methods to establish claims tha...
Developing a verifying compiler---a compiler that proves that components are correct with respect to...
Developing a verifying compiler---a compiler that proves that components are correct with respect to...
The paper shows how compiler correctness can be proved, provided that semanticsof the source languag...
AbstractCorrectness of compilation is important for the reliability of software. New techniques to g...
AbstractWe study issues in verifying compilers for modern imperative and object-oriented languages. ...
Abstract. Reasoning about programming languages with non-deter-ministic semantics entails many diffi...
This paper sketches a rigorous correctness proof of a compiler executable. We will emphasize the cen...
Correctness of compilation is important for the reliability of software. New techniques to guarantee...
Abstract. Much work has been done in verifying a compiler specification, both in hand-written and me...
Abstract. In this article, we describe a framework for formally verify-ing the correctness of compil...
Correct software requires compilers to work correctly. Especially code generation can be an error pr...
International audienceGiven the complexity and sophistication of code generation and optimization al...
Thesis (Ph.D.)--University of Washington, 2018Modern computer systems rely on the correctness of at ...
This paper presents an approach to compiler correctness in which the compiler generates a proof that...
<p>Formal verification involves the use of logical and computational methods to establish claims tha...
Developing a verifying compiler---a compiler that proves that components are correct with respect to...
Developing a verifying compiler---a compiler that proves that components are correct with respect to...
The paper shows how compiler correctness can be proved, provided that semanticsof the source languag...