TY - JOUR
T1 - Run-time validation of speculative optimizations using CVC
AU - Barrett, Clark
AU - Goldberg, Benjamin
AU - Zuck, Lenore
N1 - Copyright:
Copyright 2018 Elsevier B.V., All rights reserved.
PY - 2003/10
Y1 - 2003/10
N2 - Translation validation is an approach for validating the output of optimizing compilers. Rather than verifying the compiler itself, translation validation mandates that every run of the compiler generate a formal proof that the produced target code is a correct implementation of the source code. Speculative loop optimizations are aggressive optimizations which are only correct under certain conditions which cannot be validated at compile time. We propose using an automatic theorem prover together with the translation validation framework to automatically generate run-time tests for such speculative optimizations. This run-time validation approach must not only detect the conditions under which an optimization generates incorrect code, but also provide a way to recover from the optimization without aborting the program or producing an incorrect result. In this paper, we apply the run-time validation technique to a class of speculative reordering transformations and give some initial results of run-time tests generated by the theorem prover CVC.
AB - Translation validation is an approach for validating the output of optimizing compilers. Rather than verifying the compiler itself, translation validation mandates that every run of the compiler generate a formal proof that the produced target code is a correct implementation of the source code. Speculative loop optimizations are aggressive optimizations which are only correct under certain conditions which cannot be validated at compile time. We propose using an automatic theorem prover together with the translation validation framework to automatically generate run-time tests for such speculative optimizations. This run-time validation approach must not only detect the conditions under which an optimization generates incorrect code, but also provide a way to recover from the optimization without aborting the program or producing an incorrect result. In this paper, we apply the run-time validation technique to a class of speculative reordering transformations and give some initial results of run-time tests generated by the theorem prover CVC.
UR - http://www.scopus.com/inward/record.url?scp=18944402497&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=18944402497&partnerID=8YFLogxK
U2 - 10.1016/S1571-0661(04)81044-2
DO - 10.1016/S1571-0661(04)81044-2
M3 - Article
AN - SCOPUS:18944402497
SN - 1571-0661
VL - 89
SP - 89
EP - 107
JO - Electronic Notes in Theoretical Computer Science
JF - Electronic Notes in Theoretical Computer Science
IS - 2
ER -