Skip to main content

A Foundation of Escape Analysis*

  • Conference paper
  • First Online:
Algebraic Methodology and Software Technology (AMAST 2002)

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

Abstract

Escape analysis of object-oriented languages allows us to stack allocate dynamically created objects and to reduce the overhead of synchronisation in Java-like languages. We formalise the escape property ε, computed by an escape analysis, as an abstract interpretation of concrete states. We define the optimal abstract operations induced by ε for a framework of analysis known as watchpoint semantics. The implementation of ε inside that framework is a formally correct abstract semantics (analyser) for escape analysis. We claim that ε is the basis for more refined and precise domains for escape analysis.

This work has been funded by EPSRC grant GR/R53401.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. B. Blanchet. Escape Analysis: Correctness Proof, Implementation and Experimental Results. In 25th ACM SIGPLAN-SIGACT Symposium of Principles of Programming Languages (POPL’98), pages 25–37, San Diego, CA, USA, January 1998. ACM Press.

    Google Scholar 

  2. B. Blanchet. Escape Analysis for Object-Oriented Languages: Application to Java. In 1999 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA’99), volume 34(1) of SIGPLAN Notices, pages 20–34, Denver, Colorado, USA, November 1999.

    Google Scholar 

  3. J.-D. Choi, M. Gupta, M. J. Serrano, V. C. Sreedhar, and S. P. Midki.. Escape Analysis for Java. In 1999 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA’99), volume 34(10) of SIGPLAN Notices, pages 1–19, Denver, Colorado, USA, November 1999.

    Google Scholar 

  4. A. Cortesi, G. Filé, and W. Winsborough. The Quotient of an Abstract Interpretation. Theoretical Computer Science, 202(1–2):163–192, 1998.

    Article  MATH  MathSciNet  Google Scholar 

  5. P. Cousot and R. Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In Proc. of POPL’77, pages 238–252, 1977.

    Google Scholar 

  6. A. Deutsch. On the Complexity of Escape Analysis. In 24th ACM SIGPLANSIGACT Symposium on Principles of Programming Languages (POPL’97), pages 358–371, Paris, France, January 1997. ACM Press.

    Google Scholar 

  7. D. Gay and B. Steensgaard. Fast Escape Analysis and Stack Allocation for Object-Based Programs. In D. A. Watt, editor, Compiler Construction, 9th International Conference, (CC’00), volume 1781 of Lecture Notes in Computer Science, pages 82–93, Berlin, Germany, March 2000. Springer-Verlag.

    Google Scholar 

  8. P. M. Hill and F. Spoto. A Refinement of the Escape Property. In A. Cortesi, editor, Proc. of the VMCAI’02 workshop on Verification, Model-Checking and Abstract Interpretation, volume 2294 of Lecture Notes in Computer Science, pages 154–166, Venice, Italy, January 2002.

    Google Scholar 

  9. T. Jensen and F. Spoto. Class Analysis of Object-Oriented Programs through Abstract Interpretation. In F. Honsell and M. Miculan, editors, Proc. of FOSSACS 2001, volume 2030 of Lecture Notes in Computer Science, pages 261–275, Genova, Italy, April 2001. Springer-Verlag.

    Google Scholar 

  10. Y. G. Park and B. Goldberg. Escape Analysis on Lists. In ACM SIGPLAN’92 Conference on Programming Language Design and Implementation (PLDI’92), volume 27(7) of SIGPLAN Notices, pages 116–127, San Francisco, California, USA, June 1992.

    Google Scholar 

  11. C. Ruggieri and T. P. Murtagh. Lifetime Analysis of Dynamically Allocated Objects. In 15th ACM Symposium on Principles of Programming Languages (POPL’88), pages 285–293, San Diego, California, USA, January 1988.

    Google Scholar 

  12. F. Spoto. The LOOP Analyser. http://www.sci.univr.it/~spoto/loop/.

  13. F. Spoto. Watchpoint Semantics: A Tool for Compositional and Focussed Static Analyses. In P. Cousot, editor, Proc. of the Static Analysis Symposium, SAS’01, volume 2126 of Lecture Notes in Computer Science, pages 127–145, Paris, July 2001. Springer-Verlag.

    Google Scholar 

  14. J. Whaley and M. C. Rinard. Compositional Pointer and Escape Analysis for Java Programs. In 1999 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA’99), volume 34(1) of SIGPLAN Notices, pages 187–206, Denver, Colorado, USA, November 1999.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hill, P.M., Spoto, F. (2002). A Foundation of Escape Analysis* . In: Kirchner, H., Ringeissen, C. (eds) Algebraic Methodology and Software Technology. AMAST 2002. Lecture Notes in Computer Science, vol 2422. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45719-4_26

Download citation

  • DOI: https://doi.org/10.1007/3-540-45719-4_26

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-44144-1

  • Online ISBN: 978-3-540-45719-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics