CakeML: A Verified Implementation of ML
- đ¤ Speaker: Ramana Kumar (University of Cambridge)
- đ Date & Time: Tuesday 03 December 2013, 13:00 - 14:00
- đ Venue: Computer Laboratory, William Gates Building, Room SS03
Abstract
(A practice talk for POPL 2014 . 25 mins max.)
We have verified and bootstrapped a compiler for a large subset of standard ML. The resulting system, CakeML, is a read-eval-print loop implemented in x86-64 machine code and proved correct (in higher-order logic) with respect to our semantics for ML and for x86-64.
This is the first verification of compiler bootstrapping, which we use to automate much of the synthesis and verification of the compiler’s implementation in machine code. The verification depends on a tiny trusted code base (a HOL proof checker), and covers lexing, parsing, type inference, dynamic and incremental compilation, garbage collection and bignum arithmetic. We have proved semantics-preservation including divergence-preservation. For the latter we use a novel lightweight method based on logical timeouts.
Series This talk is part of the Computer Laboratory Automated Reasoning Group Lunches series.
Included in Lists
- All Talks (aka the CURE list)
- bld31
- Cambridge talks
- Computer Laboratory Automated Reasoning Group Lunches
- Computer Laboratory, William Gates Building, Room SS03
- Department of Computer Science and Technology talks and seminars
- Interested Talks
- Martin's interesting talks
- School of Technology
- Trust & Technology Initiative - interesting events
- yk373's list
- yk449
Note: Ex-directory lists are not shown.
![[Talks.cam]](/static/images/talkslogosmall.gif)


Tuesday 03 December 2013, 13:00-14:00