~/talk

Trustworthy Runtime Verification via Bisimulation

Talkat ICFP 2023 · 2023-09-04..09-09· [software-architecture]
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

CopilotVerifier automatically proves that a Copilot Haskell stream monitor and its compiled C (Clang→LLVM) output produce equivalent observable behavior by reducing bisimulation to extensional equality and discharging generated VCs with the Crucible symbolic execution engine and the What4 SMT interface. It runs as a translation‑validation pass next to copilot‑c99, finds crash‑equivalence (or inability to crash), detects 10 real compiler bugs, verifies the entire Copilot test corpus, and ships with caveats for floating‑point reasoning.

AI-written summary · about

  1. 0:00Compiler verification project intro
  2. 1:25Verification constraints and success
  3. 2:28Bisimulation program equivalence proof
  4. 4:57Co-Pilot stream language overview
  5. 8:28Compiling Co-Pilot to C
  6. 10:11Translation validation choice
  7. 13:00Co-Pilot Verifier equivalence proof
  8. 16:35Simulation for extensional equality
  9. 19:03Floating-point verification handling
  10. 20:06NASA auditing proof presentation
  11. 20:49Higher safety classification plans
  12. 21:32Q&A on verification failures
  13. 23:17SMT solver alternatives
  14. 24:19Compiler bugs vs tool limits
  15. 25:02External specs future work
  16. 26:08NASA safety classification levels
  17. 26:53Control flow graphs in What4
  18. 27:56Random testing for compiler bugs
  19. 28:59Bisimulation undecidability limits
~/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.