Associated research group: Minnesota Extensible Language ToolsMany classical compiler optimizations can be elegantly expressed using rewrite rules of form: I ⇒ I' if φ, where I, I' are intermediate language instructions and φ is a property expressed in a temporal logic suitable for describing program data flow. Its reading: If the current program π contains an instruction of form I at some control point p, and if flow condition φ is satisfied at p, then replace I by I'. The purpose of this paper is to show how such transformations may be proven correct. Our methodology is illustrated by three familiar optimizations, dead code elimination, constant folding and code motion. The meaning of correctness is that for any program π, if R...
Compilers transform programs, either to optimize performance or to translate language-level construc...
Every compiler passes code through several stages, each a sort of mini- compiler of its own. Thus...
International audienceThis paper reports on the correctness proof of compiler optimizations based on...
Many classical compiler optimizations can be elegantly expressed using rewrite rules of form: I ⇒ I′...
Abstract. Rewrite rules with side conditions can elegantly express many classi-cal compiler optimiza...
Abstract. In this article, we describe a framework for formally verify-ing the correctness of compil...
AbstractIn this paper, global compiler optimizations are captured by conditional rewrite rules of th...
AbstractA compiler optimization is sound if the optimized program that it produces is semantically e...
We describe a technique for automatically proving compiler optimizations sound, meaning that their t...
While program correctness for compiled languages depends fundamentally on compiler correctness, comp...
An efficient optimizing compiler can perform many cascading rewrites in a single pass, using auxilia...
Abstract. Writing performance-critical programs can be frustrating because optimizing compilers for ...
This paper describes an approach to program optimisation based on transformations, where temporal lo...
Software developers, compiler designers, and formal methods researchers all stand to benefit from im...
Model checking based on validating temporal logic formulas has proven practical and effective for n...
Compilers transform programs, either to optimize performance or to translate language-level construc...
Every compiler passes code through several stages, each a sort of mini- compiler of its own. Thus...
International audienceThis paper reports on the correctness proof of compiler optimizations based on...
Many classical compiler optimizations can be elegantly expressed using rewrite rules of form: I ⇒ I′...
Abstract. Rewrite rules with side conditions can elegantly express many classi-cal compiler optimiza...
Abstract. In this article, we describe a framework for formally verify-ing the correctness of compil...
AbstractIn this paper, global compiler optimizations are captured by conditional rewrite rules of th...
AbstractA compiler optimization is sound if the optimized program that it produces is semantically e...
We describe a technique for automatically proving compiler optimizations sound, meaning that their t...
While program correctness for compiled languages depends fundamentally on compiler correctness, comp...
An efficient optimizing compiler can perform many cascading rewrites in a single pass, using auxilia...
Abstract. Writing performance-critical programs can be frustrating because optimizing compilers for ...
This paper describes an approach to program optimisation based on transformations, where temporal lo...
Software developers, compiler designers, and formal methods researchers all stand to benefit from im...
Model checking based on validating temporal logic formulas has proven practical and effective for n...
Compilers transform programs, either to optimize performance or to translate language-level construc...
Every compiler passes code through several stages, each a sort of mini- compiler of its own. Thus...
International audienceThis paper reports on the correctness proof of compiler optimizations based on...