Compiler validation via equivalence modulo inputs

V Le, M Afshari, Z Su - ACM Sigplan Notices, 2014 - dl.acm.org
We introduce equivalence modulo inputs (EMI), a simple, widely applicable methodology for
validating optimizing compilers. Our key insight is to exploit the close interplay between (1) …

Finding deep compiler bugs via guided stochastic program mutation

V Le, C Sun, Z Su - Acm Sigplan Notices, 2015 - dl.acm.org
Compiler testing is important and challenging. Equivalence Modulo Inputs (EMI) is a recent
promising approach for compiler validation. It is based on mutating the unexecuted …

CompCert-a formally verified optimizing compiler

X Leroy, S Blazy, D Kästner, B Schommer… - … Embedded Real Time …, 2016 - inria.hal.science
CompCert is the first commercially available optimizing compiler that is formally verified,
using machine-assisted mathematical proofs, to be exempt from mis-compilation. The …

Formal verification of a constant-time preserving C compiler

G Barthe, S Blazy, B Grégoire, R Hutin… - Proceedings of the …, 2019 - dl.acm.org
Timing side-channels are arguably one of the main sources of vulnerabilities in
cryptographic implementations. One effective mitigation against timing side-channels is to …

Finding compiler bugs via live code mutation

C Sun, V Le, Z Su - Proceedings of the 2016 ACM SIGPLAN international …, 2016 - dl.acm.org
Validating optimizing compilers is challenging because it is hard to generate valid test
programs (ie, those that do not expose any undefined behavior). Equivalence Modulo Inputs …

Verified low-level programming embedded in F

J Protzenko, JK Zinzindohoué, A Rastogi… - Proceedings of the …, 2017 - dl.acm.org
We present Low*, a language for low-level programming and verification, and its application
to high-assurance optimized cryptographic libraries. Low* is a shallow embedding of a …

Provably correct peephole optimizations with alive

NP Lopes, D Menendez, S Nagarakatte… - Proceedings of the 36th …, 2015 - dl.acm.org
Compilers should not miscompile. Our work addresses problems in developing peephole
optimizations that perform local rewriting to improve the efficiency of LLVM code. These …

The verified CakeML compiler backend

YK Tan, MO Myreen, R Kumar, A Fox… - Journal of Functional …, 2019 - cambridge.org
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 …

Sparse representation of implicit flows with applications to side-channel detection

B Rodrigues, FM Quintão Pereira… - Proceedings of the 25th …, 2016 - dl.acm.org
Information flow analyses traditionally use the Program Dependence Graph (PDG) as a
supporting data-structure. This graph relies on Ferrante et al.'s notion of control …

A new verified compiler backend for CakeML

YK Tan, MO Myreen, R Kumar, A Fox… - Proceedings of the 21st …, 2016 - dl.acm.org
We have developed and mechanically verified a new compiler backend for CakeML. Our
new compiler features a sequence of intermediate languages that allows it to incrementally …