Trace Analysis for Predicting the Effectiveness of Partial Evaluation
The main goal of partial evaluation  is program specialization. Essentially, given a program and part of its input data|the so called static data|a partial evaluator returns a new, residual program which is specialized for the given data. An appropriate residual program for executing the remaining computations|those that depend on the so called dynamic data|is thus the output of the partial evaluator. Despite the fact that the main goal of partial evaluation is improving program efficiency (i.e., producing faster programs), there are very few approaches devoted to formally analyze the effects of partial evaluation, either a priori (prediction) or a posteriori. Recent approaches (e.g., [2,3]) have considered experimental frameworks for estimating the best division (roughly speaking, a classification of program parameters into static or dynamic), so that the optimal choice is followed when specializing the source program.
KeywordsResidual Program Trace Analysis Partial Evaluation Predicate Symbol Computation Rule
Unable to display preview. Download preview PDF.
- 2.Craig, S.-J., Leuschel, M.: Self-tuning resource aware specialisation for Prolog. In: Barahona, P., Felty, A.P. (eds.) PPDP, pp. 23–34. ACM, New York (2005)Google Scholar
- 4.Vidal, G.: Predicting the Speedup of Partial Evaluation. Technical report, DSIC, UPV (2008), http://www.dsic.upv.es/~gvidal/german/papers.html