2019
DOI: 10.1017/s0956796818000229
|View full text |Cite
|
Sign up to set email alerts
|

The verified CakeML compiler backend

Abstract: The CakeML compiler is, to the best of our knowledge, the most realistic verified compiler for a functional programming language to date. The architecture of the compiler, a sequence of intermediate languages through which high-level features are compiled away incrementally, enables verification of each compilation pass at an appropriate level of semantic detail. Parts of the compiler’s implementation resemble mainstream (unverified) compilers for strict functional languages, and it supports several important … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
8
0

Year Published

2019
2019
2021
2021

Publication Types

Select...
5

Relationship

2
3

Authors

Journals

citations
Cited by 30 publications
(8 citation statements)
references
References 45 publications
0
8
0
Order By: Relevance
“…These restrictions are often not considered in the source language. For instance, the verified CakeML compiler [50] uses an abstract ML-like source language, that is compiled all the way down to assembly. In the lower levels, memory usage is restricted.…”
Section: Resource Exhaustionmentioning
confidence: 99%
See 1 more Smart Citation
“…These restrictions are often not considered in the source language. For instance, the verified CakeML compiler [50] uses an abstract ML-like source language, that is compiled all the way down to assembly. In the lower levels, memory usage is restricted.…”
Section: Resource Exhaustionmentioning
confidence: 99%
“…Throughout this paper we already discussed how our results relate to existing work in correct compilation [25,50] and secure compilation [2,36,37], so here we focus on other related work.…”
Section: Related Workmentioning
confidence: 99%
“…These are used to verify system call interactions, e.g., file I/O and command-line interfaces, under carefully specified assumptions. (3) Most importantly, CakeML has a compiler that is verified [35] to preserve the semantics of source CakeML programs down to their compiled machine code implementations. Hence, all guarantees obtained from the preceding steps can be carried down to the level of machine code.…”
Section: Hol4 and Cakemlmentioning
confidence: 99%
“…Previous work has scarcely touched on this: none of seL4 [27], CertiKOS [24,23], Komodo [16], or [25,12], address realistic architecture concurrency, and they use (at best) idealised models of the sequential systems architecture. The CakeML [51,28] and CompCert [29] verified compilers target only sequential user-mode ISA fragments.…”
Section: Introductionmentioning
confidence: 99%