Commit-reconcile & fences (CRF): a new memory model for architects and compiler writers
ISCA '99 Proceedings of the 26th annual international symposium on Computer architecture
Higher-Order and Symbolic Computation
Separation Logic: A Logic for Shared Mutable Data Structures
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
Proving Pointer Programs in Hoare Logic
MPC '00 Proceedings of the 5th International Conference on Mathematics of Program Construction
Interactive Theorem Proving and Program Development
Interactive Theorem Proving and Program Development
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Concurrency and Computation: Practice & Experience - 2002 ACM Java Grande—ISCOPE Conference Part I
Simplify: a theorem prover for program checking
Journal of the ACM (JACM)
Proving pointer programs in higher-order logic
Information and Computation - Special issue: 19th international conference on automated deduction (CADE-19)
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
Types, bytes, and separation logic
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A general framework for certifying garbage collectors and their mutators
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
A theory of platform-dependent low-level software
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Separation logic for small-step cminor
TPHOLs'07 Proceedings of the 20th international conference on Theorem proving in higher order logics
Formal verification of the heap manager of an operating system using separation logic
ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
Formal verification of a c compiler front-end
FM'06 Proceedings of the 14th international conference on Formal Methods
ILC: a foundation for automated reasoning about pointer programs
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Formal verification of a realistic compiler
Communications of the ACM - Barbara Liskov: ACM's A.M. Turing Award Winner
Formal Verification of C Systems Code
Journal of Automated Reasoning
Verified validation of lazy code motion
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Correctly translating concurrency primitives
Proceedings of the 2009 ACM SIGPLAN workshop on ML
Separation Logic Verification of C Programs with an SMT Solver
Electronic Notes in Theoretical Computer Science (ENTCS)
A Formally Verified Compiler Back-end
Journal of Automated Reasoning
A simple, verified validator for software pipelining
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Structuring the verification of heap-manipulating programs
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A certified framework for compiling and executing garbage-collected languages
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Some Experience on the Software Engineering of Abstract Interpretation Tools
Electronic Notes in Theoretical Computer Science (ENTCS)
Industrial-strength certified SAT solving through verified SAT proof checking
ICTAC'10 Proceedings of the 7th International colloquium conference on Theoretical aspects of computing
A precise memory model for low-level bounded model checking
SSV'10 Proceedings of the 5th international conference on Systems software verification
Local actions for a curry-style operational semantics
Proceedings of the 5th ACM workshop on Programming languages meets program verification
JNI light: an operational model for the core JNI
APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
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
First steps towards the certification of an ARM simulator using compcert
CPP'11 Proceedings of the First international conference on Certified Programs and Proofs
Bridging the chasm between MDE and the world of compilation
Software and Systems Modeling (SoSyM)
A formally-verified alias analysis
CPP'12 Proceedings of the Second international conference on Certified Programs and Proofs
An executable semantics for compcert c
CPP'12 Proceedings of the Second international conference on Certified Programs and Proofs
CompCertTSO: A Verified Compiler for Relaxed-Memory Concurrency
Journal of the ACM (JACM)
A verified information-flow architecture
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Hi-index | 0.00 |
This article presents the formal verification, using the Coq proof assistant, of a memory model for low-level imperative languages such as C and compiler intermediate languages. Beyond giving semantics to pointer-based programs, this model supports reasoning over transformations of such programs. We show how the properties of the memory model are used to prove semantic preservation for three passes of the Compcert verified compiler.