Skip to main content

Binding-Time Analysis in Partial Evaluation: One Size Does Not Fit All

  • Conference paper
  • First Online:
Perspectives of System Informatics (PSI 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1755))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. L. O. Andersen. C program specialization (revised version). DIKU Report 92/14, DIKU, University of Copenhagen, 1992.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. L. O. Andersen. Program analysis and specialization for the C programming language. DIKU Report 94/19, Department of Computer Science, University of Copenhagen, 1994.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. J. M. Ashley and C. Consel. Fixpoint computation for polyvariant static analyses of higher-order applicative programs. ACM TOPLAS, 16(5):1431–1448, 1994.

    Article  Google Scholar 

  7. M. A. Bulyonkov. Polyvariant mixed computation for analyzer programs. Acta Informatica, 21:473–484, 1984.

    Article  MATH  MathSciNet  Google Scholar 

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. C. K. Gomard and N. D. Jones. Compiler generation by partial evaluation: a case study. Structured Programming, 12:123–144, 1991.

    Google Scholar 

  17. 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.

    Chapter  Google Scholar 

  18. 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.

    Google Scholar 

  19. N. D. Jones, C. K. Gomard, and P. Sestoft. Partial Evaluation and Automatic Program Generation. Prentice-Hall, 1993.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. 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.

    Article  Google Scholar 

  22. P. Kleinrubatscher, A. Kriegshaber, R. Zöchling, and R. Glück. Fortran program specialization. SIGPLAN Notices, 30(4):61–70, 1995.

    Article  Google Scholar 

  23. 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.

    Google Scholar 

  24. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics