Oeuf Eric Mullen, Stuart Pernsteiner, James Wilcox Yesterday: - - PowerPoint PPT Presentation

oeuf
SMART_READER_LITE
LIVE PREVIEW

Oeuf Eric Mullen, Stuart Pernsteiner, James Wilcox Yesterday: - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

Oeuf

Eric Mullen, Stuart Pernsteiner, James Wilcox

slide-2
SLIDE 2

Yesterday: Extraction

Extraction Verified.v

Unverified.ml

slide-3
SLIDE 3

Today: CompCert + Oeuf

Verified.v

CompCert Oeuf

Cminor Proof.v

slide-4
SLIDE 4

Today: Oeuf

Verified.v

Proof.v

OeufML Untyped Lifted Tagged Switched F♭ EMajor DMajor CMajor

To Cminor Reflection D e n

  • t

a t i

  • n
slide-5
SLIDE 5

DEMO

slide-6
SLIDE 6

Features of OeufML

t ::= bool | nat | listnat e ::= x | λ x. e | e e | Constr [e] | Elim [e] e

slide-7
SLIDE 7

Related Work: VST

CompCert

.c

Clight VST

slide-8
SLIDE 8

Future Work

Verification! Polymorphism? Apply to systems Garbage collection

slide-9
SLIDE 9
slide-10
SLIDE 10

Value Representation

1 (S)

  • 1 (S)
  • 0 (O)

1 (cons)

  • 0 (nil)

... S (S O) [a.k.a. “2”] (...) :: nil λb. a + b

  • a
_$1: .cfi_startproc subl $12, %esp .cfi_adjust_cfa_offset 12 leal 16(%esp), %edx movl %edx, 0(%esp) ...
slide-11
SLIDE 11

Tomorrow: Oeuf

Verified.v

Proof.v

OeufML Untyped Lifted Tagged Switched Flattened EMajor DMajor CMajor

Cminor Reflection D e n

  • t

a t i

  • n