Back to Search Start Over

Formally Verified Superblock Scheduling

Authors :
Cyril Six
Léo Gourdin
Sylvain Boulmé
David Monniaux
Justus Fasse
Nicolas Nardino
VERIMAG (VERIMAG - IMAG)
Centre National de la Recherche Scientifique (CNRS)-Université Grenoble Alpes (UGA)-Institut polytechnique de Grenoble - Grenoble Institute of Technology (Grenoble INP )
Université Grenoble Alpes (UGA)
ANR-11-LABX-0025,PERSYVAL-lab,Systemes et Algorithmes Pervasifs au confluent des mondes physique et numérique(2011)
ANR-10-AIRT-0005,NANOELEC,NANOELEC(2010)
Kalray
École normale supérieure de Lyon (ENS de Lyon)
Andrei Popescu
Steve Zdancewic
Source :
Certified Programs and Proofs (CPP ’22), Certified Programs and Proofs (CPP ’22), Jan 2022, Philadelphia, United States. ⟨10.1145/3497775.3503679⟩, CPP 2022: Proceedings of the 11th ACM SIGPLAN International Conference on Certified Programs and Proofs, Certified Programs and Proofs (CPP ’22), Jan 2022, Philadelphia, United States. pp.40-54, ⟨10.1145/3497775.3503679⟩
Publication Year :
2022
Publisher :
HAL CCSD, 2022.

Abstract

International audience; Necula [2000] and Tristan et al. [2011] established that symbolic execution combined with rewriting is effective in validating the code produced by state-of-the-art compilers applying various optimizations. In the meantime, Tristan and Leroy [2008] used formally-verified symbolic execution to certify the schedules produced by untrusted oracles-optimizing pipeline usage-within the CompCert compiler. Alas, their formally-verified checker had exponential complexity and was thus never integrated into mainline CompCert. Recently, Six et al. [2020] solved this performance issue with formally-verified hash-consing within the symbolic execution. Our paper extends these approaches to superblocks (where instructions move across branches) and enables translation validation of instruction rewritings (changing instructions for "better" ones) modulo register liveness (e.g. with introduction of "fresh" registers): a significant step forward for certifying compilers from symbolic executions.

Details

Language :
English
Database :
OpenAIRE
Journal :
Certified Programs and Proofs (CPP ’22), Certified Programs and Proofs (CPP ’22), Jan 2022, Philadelphia, United States. ⟨10.1145/3497775.3503679⟩, CPP 2022: Proceedings of the 11th ACM SIGPLAN International Conference on Certified Programs and Proofs, Certified Programs and Proofs (CPP ’22), Jan 2022, Philadelphia, United States. pp.40-54, ⟨10.1145/3497775.3503679⟩
Accession number :
edsair.doi.dedup.....dfa50dfc6287c390b68863a7bc40188c