Oeuf Eric Mullen, Stuart Pernsteiner, James Wilcox
Yesterday: Extraction Verified.v Extraction Unverified.ml
Today: CompCert + Oeuf Cminor Proof.v Verified.v Oeuf CompCert
Today: Oeuf Untyped OeufML Lifted Reflection n o i t Proof.v a t o n e D Tagged Verified.v Switched EMajor CMajor F ♭ Cminor DMajor To
DEMO
Features of OeufML t ::= bool | nat | listnat e ::= x | λ x. e | e e | Constr [e] | Elim [e] e
Related Work: VST VST Clight CompCert .c
Future Work Verification! Polymorphism? Apply to systems Garbage collection
Value Representation S (S O) [a.k.a. “2”] (...) :: nil λb. a + b _$1: .cfi_startproc subl $12, %esp 1 (S) .cfi_adjust_cfa_offset 12 1 (cons) ● leal 16(%esp), %edx ... movl %edx, 0(%esp) ... ● 1 (S) ● ● a ● 0 (O) 0 (nil) ●
Proof.v Oeuf Tomorrow: Verified.v Reflection D e n o t a t i o n OeufML Untyped Lifted Tagged Switched Flattened EMajor DMajor CMajor Cminor
More recommend