Publications

Detailed Information

AliveInLean: A verified LLVM peephole optimization verifier

Cited 4 time in Web of Science Cited 5 time in Scopus
Authors

Lee, Juneyoung; Hur, Chung-Kil; Lopes, Nuno P.

Issue Date
2019-01
Publisher
Springer Verlag
Citation
Lecture Notes in Computer Science, Vol.11562 LNCS, pp.445-455
Abstract
Ensuring that compiler optimizations are correct is important for the reliability of the entire software ecosystem, since all software is compiled. Alive [12] is a tool for verifying LLVMs peephole optimizations. Since Alive was released, it has helped compiler developers proactively find dozens of bugs in LLVM, avoiding potentially hazardous miscompilations. Despite having verified many LLVM optimizations so far, Alive is itself not verified, which has led to at least once declaring an optimization correct when it was not. We introduce AliveInLean, a formally verified peephole optimization verifier for LLVM. As the name suggests, AliveInLean is a reengineered version of Alive developed in the Lean theorem prover [14]. Assuming that the proof obligations are correctly discharged by an SMT solver, AliveInLean gives the same level of correctness guarantees as state-of-the-art formal frameworks such as CompCert [11], Peek [15], and Vellvm [26], while inheriting the advantages of Alive (significantly more automation and easy adoption by compiler developers).
ISSN
0302-9743
URI
https://hdl.handle.net/10371/198297
DOI
https://doi.org/10.1007/978-3-030-25543-5_25
Files in This Item:
There are no files associated with this item.
Appears in Collections:

Altmetrics

Item View & Download Count

  • mendeley

Items in S-Space are protected by copyright, with all rights reserved, unless otherwise indicated.

Share