Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Translation validation for an optimizing compiler
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Java Virtual Machine Specification
Java Virtual Machine Specification
Static prediction of heap space usage for first-order functional programs
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
TACAS '98 Proceedings of the 4th International Conference on Tools and Algorithms for Construction and Analysis of Systems
Formal Verification of a Java Compiler in Isabelle
CADE-18 Proceedings of the 18th International Conference on Automated Deduction
A Mechanically Verified Compiling Specification for a Lisp Compiler
FST TCS '01 Proceedings of the 21st Conference on Foundations of Software Technology and Theoretical Computer Science
Theoretical Computer Science - Foundations of software science and computation structures
Compiler verification: a bibliography
ACM SIGSOFT Software Engineering Notes
Interactive Theorem Proving and Program Development
Interactive Theorem Proving and Program Development
Formal certification of a compiler back-end or: programming a compiler with a proof assistant
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A machine-checked model for a Java-like language, virtual machine, and compiler
ACM Transactions on Programming Languages and Systems (TOPLAS)
A type system for safe memory management and its proof of correctness
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
An Inference Algorithm for Guaranteeing Safe Destruction
Logic-Based Program Synthesis and Transformation
Structure of a proof-producing compiler for a subset of higher order logic
ESOP'07 Proceedings of the 16th European conference on Programming
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
Certificate translation for optimizing compilers
SAS'06 Proceedings of the 13th international conference on Static Analysis
Formal verification of a c compiler front-end
FM'06 Proceedings of the 14th international conference on Formal Methods
A Certified Implementation on Top of the Java Virtual Machine
FMICS '09 Proceedings of the 14th International Workshop on Formal Methods for Industrial Critical Systems
A space consumption analysis by abstract interpretation
FOPARA'09 Proceedings of the First international conference on Foundational and practical aspects of resource analysis
Certified absence of dangling pointers in a language with explicit deallocation
IFM'10 Proceedings of the 8th international conference on Integrated formal methods
The isabelle collections framework
ITP'10 Proceedings of the First international conference on Interactive Theorem Proving
Hi-index | 0.00 |
The paper presents the development, by using the proof assistant Isabelle/HOL, of a compiler back-end translating from a functional source language to the bytecode language of an abstract machine. The Haskell code of the compiler is extracted from the Isabelle/HOL specification and this tool is also used for proving the correctness of the implementation. The main correctness theorem not only ensures functional semantics preservation but also resource consumption preservation: the heap and stacks figures predicted by the semantics are confirmed in the translation to the abstract machine. The language and the development belong to a wider Proof Carrying Code framework in which formal compiler-generated certificates about memory consumption are sought for.