Proving the Correctness of Compiler Optimisations Based on Strictness Analysis (1993)
| Venue: | in Proceedings 5th int. Symp. on Programming Language Implementation and Logic Programming, LNCS 714 |
| Citations: | 4 - 2 self |
BibTeX
@INPROCEEDINGS{Burn93provingthe,
author = {Geoffrey Burn and Daniel Le Métayer},
title = {Proving the Correctness of Compiler Optimisations Based on Strictness Analysis},
booktitle = {in Proceedings 5th int. Symp. on Programming Language Implementation and Logic Programming, LNCS 714},
year = {1993},
pages = {346--364},
publisher = {Springer Verlag}
}
OpenURL
Abstract
. We show that compiler optimisations based on strictness analysis can be expressed formally in the functional framework using continuations. This formal presentation has two benefits: it allows us to give a rigorous correctness proof of the optimised compiler; and it exposes the various optimisations made possible by a strictness analysis. 1 Introduction Realistic compilers for imperative or functional languages include a number of optimisations based on non-trivial global analyses. Proving the correctness of such optimising compilers can be done in three steps: 1. proving the correctness of the original (unoptimised) compiler; 2. proving the correctness of the analysis; and 3. proving the correctness of the modifications of the simple-minded compiler to exploit the results of the analysis. A substantial amount of work has been devoted to steps (1) and (2) but there have been surprisingly few attempts at tackling step (3). In this paper we show how to carry out this third step in the...







