hide
Free keywords:
-
Abstract:
This paper consists of a survey of current, and past,
work on *program transformation* for the purpose
of optimization. We first discuss some of the general
methodological frameworks for program modification,
such as *analogy*, *explanation based
learning*, *partial evaluation*, *proof
theoretic optimization*, and the *unfold/fold*
technique. These frameworks are not mutually
exclusive, and the latter, unfold/fold, is certainly
the most widely used technique, in various guises,
for program transformation. Thus we shall often have
occasion to: compare the relative merits of systems
that employ the technique in some form, *and*;
compare the unfold/fold systems with those that
employ alternative techniques. We also include (and
compare with unfold/fold) a brief survey of recent
work concerning the use of *formal methods* for
program transformation.