~/talk

FreeSpec: Specifying, Verifying, and Executing Impure Computations in Coq

Talkat CPP 2020 · 2020-01-20..01-21· [compilers-and-language-design]
slides:none on file

FreeSpec implements impure computations in Coq using a free monad over explicit interfaces and certifies them with contract types built from a computable witness plus caller and implementer obligations. The framework proves properties like “never use a closed file descriptor” for a verified mini HTTP server implemented in Coq, uses tactics such as proven_pure and a preserving tactic to discharge obligations, supports FFI execution (the HTTP server is exercised 100 times), and shows the extraction/run pipeline works.

AI-written summary · about

  1. 0:00FreeSpec introduction
  2. 3:08Certified systems demos
  3. 4:11Mini HTTP server in Coq
  4. 5:30Reading files impurely
  5. 7:24Defining FreeSpec interfaces
  6. 9:09Generic TCP server in Coq
  7. 10:16Impure computation contracts
  8. 11:43File system witness states
  9. 15:38HTTP server proof compliance
  10. 17:29Respect tactics automation
  11. 19:52Witness states preservation
  12. 20:55Verified HTTP server execution
  13. 22:08Future directions
  14. 22:50Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.