Abstract
Existing partial evaluators usually fix the strategy for binding-time analysis. But a single strategy cannot fulfill all goals without leading to compromises regarding precision, termination, and code explosion in partial evaluators. Our goal is to improve the usability of partial evaluator systems by developing an adaptive approach that can accommodate a variety of different strategies ranging from maximally polyvariant to entirely uniform analysis, and thereby make offline specialization more practical in a realistic setting. The core of the analysis has been implemented in FSpec, an offline partial evaluator for a subset of Fortran 77.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
L. O. Andersen. C program specialization (revised version). DIKU Report 92/14, DIKU, University of Copenhagen, 1992.
L. O. Andersen. Binding-time analysis and the taming of C pointers. In Proc. of ACM Symposium on Partial Evaluation and Semantics-Based Program Manipulation, PEPM’93, 1993.
L. O. Andersen. Program analysis and specialization for the C programming language. DIKU Report 94/19, Department of Computer Science, University of Copenhagen, 1994.
L. O. Andersen and C. K. Gomard. Speedup analysis in partial evaluation: preliminary results. In Proceedings of the Workshop on Partial Evaluation and Semantics-Based Program Manipulation, pages 1–7, San Francisco, California, 1992. Yale University, Dept. of Computer Science.
P. H. Andersen and C. K. Holst. Termination analysis for offline partial evaluation of a higher order functional language. In R. Cousot and D. Schmidt, editors, Static Analysis, volume 1145 of Lecture Notes in Computer Science, pages 67–82, Aachen, Germany, 1996. Springer-Verlag.
J. M. Ashley and C. Consel. Fixpoint computation for polyvariant static analyses of higher-order applicative programs. ACM TOPLAS, 16(5):1431–1448, 1994.
M. A. Bulyonkov. Polyvariant mixed computation for analyzer programs. Acta Informatica, 21:473–484, 1984.
M. A. Bulyonkov. Extracting polyvariant binding time analysis from polyvariant specializer. In Proceedings of the Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 59–65, Copenhagen, Denmark, 1993. ACM Press.
M. A. Bulyonkov and D. V. Kochetov. Practical aspects of specialization of Algollike programs. In O. Danvy, R. Glück, and P. Thiemann, editors, Partial Evaluation. Proceedings, volume 1110 of Lecture Notes in Computer Science, pages 17–32, Dagstuhl Castle, Germany, 1996. Springer-Verlag.
N. H. Christensen and S. Laursen. Partial evaluation of an imperative language. DIKU Student Report 98-7-3, DIKU, Dept. of Computer Science, University of Copenhagen, 1998.
C. Consel. Polyvariant binding-time analysis for applicative languages. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based program Manipulation, pages 66–77. ACM Press, 1993.
C. Consel and F. Nöel. A general approach for run-time specialization and its application to C. In Conference Record of the Twenty Third Symposium on Principles of Programming Languages, pages 145–156, St. Petersburg Beach, Florida, 1996. ACM Press.
A. P. Ershov and V. E. Itkin. Correctness of mixed computation in Algol-like programs. In J. Gruska, editor, Mathematical Foundations of Computer Science 1977, volume 53 of Lecture Notes in Computer Science, pages 59–77, Tatranská Lomnica, 1977. Springer-Verlag.
A. J. Glenstrup and N. D. Jones. BTA algorithms to ensure termination of off-line partial evaluation. In D. Bjørner, M. Broy, and I. V. Pottosin, editors, Perspectives of System Informatics. Proceedings, volume 1181 of Lecture Notes in Computer Science, pages 273–284, Novosibirsk, Russia, 1996. Springer-Verlag.
R. Glück and J. Jørgensen. Fast binding-time analysis for multi-level specialization. In D. Bjørner, M. Broy, and I. V. Pottosin, editors, Perspectives of System Informatics. Proceedings, volume 1181 of Lecture Notes in Computer Science, pages 261–272, Novosibirsk, Russia, 1996. Springer-Verlag.
C. K. Gomard and N. D. Jones. Compiler generation by partial evaluation: a case study. Structured Programming, 12:123–144, 1991.
L. Hornof, C. Consel, and J. Noyé. Effective specialization of realistic programs via use sensitivity. In P. Van Hentenryck, editor, Static Analysis. Proceedings, volume 1302 of Lecture Notes in Computer Science, pages 293–314, Paris, France, 1997. Springer-Verlag.
L. Hornof and J. Noyé. Accurate binding-time analysis for imperative languages: flow, context, and return sensitivity. In Proceedings of the Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 63–73, Amsterdam, The Netherlands, 1997. ACM Press.
N. D. Jones, C. K. Gomard, and P. Sestoft. Partial Evaluation and Automatic Program Generation. Prentice-Hall, 1993.
N. D. Jones, P. Sestoft, and H. Søndergaard. An experiment in partial evaluation: the generation of a compiler generator. In J.-P. Jouannaud, editor, Rewriting Techniques and Applications, volume 202 of Lecture Notes in Computer Science, pages 124–140. Springer-Verlag, 1985.
N. D. Jones, P. Sestoft, and H. Søndergaard. Mix: a self-applicable partial evaluator for experiments in compiler generation. LISP and Symbolic Computation, 2(1):9–50, 1989.
P. Kleinrubatscher, A. Kriegshaber, R. Zöchling, and R. Glück. Fortran program specialization. SIGPLAN Notices, 30(4):61–70, 1995.
B. Rytz and M. Gengler. A polyvariant binding time analysis. In Proceedings of the Workshop on Partial Evaluation and Semantics-Based Program Manipulation, pages 21–28, San Francisco, California, 1992. Yale University, Dept. of Computer Science.
P. Thiemann and M. Sperber. Polyvariant expansion and compiler generators. In D. Bjørner, M. Broy, and I. V. Pottosin, editors, Perspectives of System Informatics. Proceedings, volume 1181, pages 285–296, Novosibirsk, Russia, 1996. Springer-Verlag.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Christensen, N.H., Glück, R., Laursen, S. (2000). Binding-Time Analysis in Partial Evaluation: One Size Does Not Fit All. In: Bjøner, D., Broy, M., Zamulin, A.V. (eds) Perspectives of System Informatics. PSI 1999. Lecture Notes in Computer Science, vol 1755. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46562-6_7
Download citation
DOI: https://doi.org/10.1007/3-540-46562-6_7
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67102-2
Online ISBN: 978-3-540-46562-1
eBook Packages: Springer Book Archive