Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation 2016
DOI: 10.1145/2908080.2908109
|View full text |Cite
|
Sign up to set email alerts
|

Verified peephole optimizations for CompCert

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
18
0

Year Published

2018
2018
2022
2022

Publication Types

Select...
5
1
1

Relationship

0
7

Authors

Journals

citations
Cited by 33 publications
(19 citation statements)
references
References 31 publications
1
18
0
Order By: Relevance
“…CompCert instead uses an infinitely addressable memory in its target semantics and proves correctness against this semantics. The Peek framework (Mullen et al, 2016) extends CompCert's x86 semantics with a fixed-size, 32-bit integer indexed memory. This is used to provide a target in which assembly level peephole optimizations can be easily verified.…”
Section: Discussion Of Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…CompCert instead uses an infinitely addressable memory in its target semantics and proves correctness against this semantics. The Peek framework (Mullen et al, 2016) extends CompCert's x86 semantics with a fixed-size, 32-bit integer indexed memory. This is used to provide a target in which assembly level peephole optimizations can be easily verified.…”
Section: Discussion Of Related Workmentioning
confidence: 99%
“…The CompCert project has shown that it is possible to formally verify a realistic, optimising compiler, and thereby encouraged significant interest in compiler verification. In fact, much of this interest has gone into extending or building on CompCert itself (Stewart et al, 2015;Sevcík et al, 2013;Mullen et al, 2016).…”
Section: Introductionmentioning
confidence: 99%
“…However, it is hard to apply this approach to existing industrial compilers because proving correctness of optimizations requires non-trivial effort. Peek [15] is a framework for implementing and verifying peephole optimizations for x86 on CompCert. They implemented 28 peephole optimizations which required 3.3k lines of code and 6.6k lines of proofs (∼350 LoC each).…”
Section: Compiler Verificationmentioning
confidence: 99%
“…Using AliveInLean requires less human effort than directly proving the optimizations on formal frameworks thanks to automation given by SMT solvers. For example, verifying the correctness of a peephole optimization on a formal framework requires more than a hundred lines of proofs [15]. However, the correctness of AliveInLean relies on the correctness of the used SMT solver.…”
Section: Introductionmentioning
confidence: 99%
“…(Using unbounded integers is a simplification that we hope to remove in the future, e.g. by applying the ideas of Mullen et al [59].) All compartments must share this flat address space, so-without proper protection-compromised components can access buffers out-ofbounds and read or overwrite the code and data of other components.…”
Section: Secure Compilation Chainmentioning
confidence: 99%