Authors
Ramana Kumar, Magnus O Myreen, Michael Norrish, Scott Owens
Publication date
2014/1/11
Conference
ACM SIGPLAN Notices
Volume
49
Issue
1
Pages
179-191
Publisher
ACM
Description
We have developed and mechanically verified an ML system called CakeML, which supports a substantial subset of Standard ML. CakeML is implemented as an interactive read-eval-print loop (REPL) in x86-64 machine code. Our correctness theorem ensures that this REPL implementation prints only those results permitted by the semantics of CakeML. Our verification effort touches on a breadth of topics including lexing, parsing, type checking, incremental and dynamic compilation, garbage collection, arbitrary-precision arithmetic, and compiler bootstrapping.
Our contributions are twofold. The first is simply in building a system that is end-to-end verified, demonstrating that each piece of such a verification effort can in practice be composed with the others, and ensuring that none of the pieces rely on any over-simplifying assumptions. The second is developing novel approaches to some of the more challenging …
Total citations
20132014201520162017201820192020202120222023202421224353459804963576634
Scholar articles
R Kumar, MO Myreen, M Norrish, S Owens - ACM SIGPLAN Notices, 2014