The Semantics of the C Programming Language
CSL '92 Selected Papers from the Workshop on Computer Science Logic
Compiler verification: a bibliography
ACM SIGSOFT Software Engineering Notes
A high-level modular definition of the semantics of C#
Theoretical Computer Science - Abstract state machines and high-level system design and analysis
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
Formal verification of a memory model for C-like imperative languages
ICFEM'05 Proceedings of the 7th international conference on Formal Methods and Software Engineering
A verifying core for a cryptographic language compiler
ACL2 '06 Proceedings of the sixth international workshop on the ACL2 theorem prover and its applications
Ott: effective tool support for the working semanticist
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Mechanical verification of refactorings
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A theory of platform-dependent low-level software
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Tilting at Windmills with Coq: Formal Verification of a Compilation Algorithm for Parallel Moves
Journal of Automated Reasoning
Clock-directed modular code generation for synchronous data-flow languages
Proceedings of the 2008 ACM SIGPLAN-SIGBED conference on Languages, compilers, and tools for embedded systems
Formal Verification of a C-like Memory Model and Its Uses for Verifying Program Transformations
Journal of Automated Reasoning
Pervasive Compiler Verification -- From Verified Programs to Verified Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
A type-preserving compiler in Haskell
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Compilation as Rewriting in Higher Order Logic
CADE-21 Proceedings of the 21st international conference on Automated Deduction: Automated Deduction
Industrial Use of Formal Methods for a High-Level Security Evaluation
FM '08 Proceedings of the 15th international symposium on Formal Methods
Challenge proposal: verification of refactorings
Proceedings of the 3rd workshop on Programming languages meets program verification
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Formal verification of a realistic compiler
Communications of the ACM - Barbara Liskov: ACM's A.M. Turing Award Winner
Certificate translation for optimizing compilers
ACM Transactions on Programming Languages and Systems (TOPLAS)
Verified Compilation and the B Method: A Proposal and a First Appraisal
Electronic Notes in Theoretical Computer Science (ENTCS)
Certified code development for a microcontroller architecture
Proceedings of the 46th Annual Southeast Regional Conference on XX
Formal Verification of a Microkernel Used in Dependable Software Systems
SAFECOMP '09 Proceedings of the 28th International Conference on Computer Safety, Reliability, and Security
Formal Certification of a Resource-Aware Language Implementation
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
A Formally Verified Compiler Back-end
Journal of Automated Reasoning
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
Filet-o-fish: practical and dependable domain-specific languages for OS development
ACM SIGOPS Operating Systems Review
Directly reflective meta-programming
Higher-Order and Symbolic Computation
Ott: Effective tool support for the working semanticist
Journal of Functional Programming
Filet-o-Fish: practical and dependable domain-specific languages for OS development
Proceedings of the Fifth Workshop on Programming Languages and Operating Systems
Structure of a proof-producing compiler for a subset of higher order logic
ESOP'07 Proceedings of the 16th European conference on Programming
Mechanized verification of CPS transformations
LPAR'07 Proceedings of the 14th international conference on Logic for programming, artificial intelligence and reasoning
Formal verification of an optimizing compiler
RTA'07 Proceedings of the 18th international conference on Term rewriting and applications
Separation logic for small-step cminor
TPHOLs'07 Proceedings of the 20th international conference on Theorem proving in higher order logics
Trusted source translation of a total function language
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
Erasure and polymorphism in pure type systems
FOSSACS'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Foundations of software science and computational structures
Low-level software security: attacks and defenses
Foundations of security analysis and design IV
ESOP'11/ETAPS'11 Proceedings of the 20th European conference on Programming languages and systems: part of the joint European conferences on theory and practice of software
Validated compilation through logic
FM'11 Proceedings of the 17th international conference on Formal methods
Formal verification of coalescing graph-coloring register allocation
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
Mechanized semantics for compiler verification
CPP'12 Proceedings of the Second international conference on Certified Programs and Proofs
Code optimizations using formally verified properties
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Hi-index | 0.00 |
This paper presents the formal verification of a compiler front-end that translates a subset of the C language into the Cminor intermediate language. The semantics of the source and target languages as well as the translation between them have been written in the specification language of the Coq proof assistant. The proof of observational semantic equivalence between the source and generated code has been machine-checked using Coq. An executable compiler was obtained by automatic extraction of executable Caml code from the Coq specification of the translator, combined with a certified compiler back-end generating PowerPC assembly code from Cminor, described in previous work.