Crellvm: verifying LLVM optimisations with Coq: https://sf.snu.ac.kr/crellvm/
Impressively, they find bugs with optimisation passes which showed no bugs with fuzz testing!
miniblog.
Related Posts
Highlight of #POPL yesterday: seeing some excellent discussions of Coq for verifying programming languages!
https://popl20.sigplan.org/details/PLMW-POPL-2020/3/Theorem-provers-are-a-P-L-researcher-s-best-friend
I came away with a much clearer sense of *how* you'd verify an optimising compiler.
Defining a subset of #[no_std] Rust, formally verifying it, and releasing it as 'Sealed Rust' for use in safety critical systems like automotive and avionics:
