Toward compiler implementation correctness proofs
ACM Transactions on Programming Languages and Systems (TOPLAS)
An approach to systems verification
Journal of Automated Reasoning
Semantics with applications: a formal introduction
Semantics with applications: a formal introduction
Computer Architecture: Complexity and Correctness
Computer Architecture: Complexity and Correctness
Totally Verified Systems: Linking Verified Software to Verified Hardware
Workshop on Hardware Specification, Verification and Synthesis: Mathematical Aspects
TACAS '98 Proceedings of the 4th International Conference on Tools and Algorithms for Construction and Analysis of Systems
TYPES '00 Selected papers from the International Workshop on Types for Proofs and Programs
The Semantics of the C Programming Language
CSL '92 Selected Papers from the Workshop on Computer Science Logic
Formal Verification of a Java Compiler in Isabelle
CADE-18 Proceedings of the 18th International Conference on Automated Deduction
Compiler verification: a bibliography
ACM SIGSOFT Software Engineering Notes
Dealing with I/O Devices in the Context of Pervasive System Verification
ICCD '05 Proceedings of the 2005 International Conference on Computer Design
Towards the Formal Verification of a C0 Compiler: Code Generation and Implementation Correctnes
SEFM '05 Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods
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)
Putting it all together – Formal verification of the VAMP
International Journal on Software Tools for Technology Transfer (STTT) - A View from Formal Methods 2003 (pp 301-354); Special Section on Recent Advances in Hardware Verification (pp 355-447)
A framework for modeling the semantics of expression evaluation with abstract state machines
ASM'03 Proceedings of the abstract state machines 10th international conference on Advances in theory and practice
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
Using XCAP to certify realistic systems code: machine context management
TPHOLs'07 Proceedings of the 20th international conference on Theorem proving in higher order logics
Formal pervasive verification of a paging mechanism
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
On the correctness of operating system kernels
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
Formal verification of a c compiler front-end
FM'06 Proceedings of the 14th international conference on Formal Methods
A Verification Approach for System-Level Concurrent Programs
VSTTE '08 Proceedings of the 2nd international conference on Verified Software: Theories, Tools, Experiments
Formal Functional Verification of Device Drivers
VSTTE '08 Proceedings of the 2nd international conference on Verified Software: Theories, Tools, Experiments
Verified Process-Context Switch for C-Programmed Kernels
VSTTE '08 Proceedings of the 2nd international conference on Verified Software: Theories, Tools, Experiments
Journal of Automated Reasoning
A Formally Verified Compiler Back-end
Journal of Automated Reasoning
Formal pervasive verification of a paging mechanism
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
From operating-system correctness to pervasively verified applications
IFM'10 Proceedings of the 8th international conference on Integrated formal methods
VSTTE'12 Proceedings of the 4th international conference on Verified Software: theories, tools, experiments
An executable semantics for compcert c
CPP'12 Proceedings of the Second international conference on Certified Programs and Proofs
Hi-index | 0.00 |
We report in this paper on the formal verification of a simple compiler for the C-like programming language C0. The compiler correctness proof meets the special requirements of pervasive system verification and allows to transfer correctness properties from the C0 layer to the assembler and hardware layers. The compiler verification is split into two parts: the correctness of the compiling specification (which can be translated to executable ML code via Isabelle's code generator) and the correctness of a C0 implementation of this specification. We also sketch a method to solve the boot strap problem, i.e., how to obtain a trustworthy binary of the C0 compiler from its C0 implementation. Ultimately, this allows to prove pervasively the correctness of compiled C0 programs in the real system.