CakeML: a verified implementation of ML

R Kumar, MO Myreen, M Norrish, S Owens - ACM SIGPLAN Notices, 2014 - dl.acm.org
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 …

The design and implementation of a certifying compiler

GC Necula, P Lee - ACM SIGPLAN Notices, 1998 - dl.acm.org
This paper presents the design and implementation of a compiler that translates programs
written in a type-safe subset of the C programming language into highly optimized DEC …

Formalizing the safety of Java, the Java virtual machine, and Java card

PH Hartel, L Moreau - ACM Computing Surveys (CSUR), 2001 - dl.acm.org
We review the existing literature on Java safety, emphasizing formal approaches, and the
impact of Java safety on small footprint devices such as smartcards. The conclusion is that …

[LLIBRE][B] Compiling with proofs

GC Necula - 1998 - search.proquest.com
One of the major challenges of building software systems is to ensure that the various
components fit together in a well-defined manner. This problem is exacerbated by the recent …

Proving optimizations correct using parameterized program equivalence

S Kundu, Z Tatlock, S Lerner - ACM Sigplan Notices, 2009 - dl.acm.org
Translation validation is a technique for checking that, after an optimization has run, the
input and output of the optimization are equivalent. Traditionally, translation validation has …

Credible compilation

MC Rinard - 2003 - dspace.mit.edu
This paper presents an approach to compiler correctness in which the compiler generates a
proof that the transformed program correctly implements the input program. A simple proof …

Automatically proving the correctness of compiler optimizations

S Lerner, T Millstein, C Chambers - Proceedings of the ACM SIGPLAN …, 2003 - dl.acm.org
We describe a technique for automatically proving compiler optimizations sound, meaning
that their transformations are always semantics-preserving. We first present a domain …

Automated soundness proofs for dataflow analyses and transformations via local rules

S Lerner, T Millstein, E Rice, C Chambers - ACM SIGPLAN Notices, 2005 - dl.acm.org
We present Rhodium, a new language for writing compiler optimizations that can be
automatically proved sound. Unlike our previous work on Cobalt, Rhodium expresses …

Proper tail recursion and space efficiency

WD Clinger - Proceedings of the ACM SIGPLAN 1998 conference on …, 1998 - dl.acm.org
The IEEE/ANSI standard for Scheme requires implementations to be properly tail recursive.
This ensures that portable code can rely upon the space efficiency of continuation-passing …

Biorthogonality, step-indexing and compiler correctness

N Benton, CK Hur - ACM Sigplan Notices, 2009 - dl.acm.org
We define logical relations between the denotational semantics of a simply typed functional
language with recursion and the operational behaviour of low-level programs in a variant …