Skip to main content

A Refinement of the Escape Property

  • Conference paper
  • First Online:

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

Abstract

Escape analysis of object-oriented languages determines, for every program point, the escape property ɛ i.e., the set of the creation points of the objects reachable from some variables. An approximation of ɛ is useful to stack allocate dynamically created objects and to reduce the overhead of synchronisation in Java-like languages. ɛ can itself be used for escape analysis, but it is very imprecise. We define here a refinement ɛR of ɛ, in the sense that ɛR is more concrete than ɛ and, hence, leads to a more precise escape analysis than ɛ.

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

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. D. F. Bacon and P. F. Sweeney. Fast Static Analysis of C+ +Virtual Function Calls. In Proc. of OOPSLA’96, volume 31(10) of ACM SIGPLAN Notices, pages 324–341, New York, 1996. ACM Press.

    Google Scholar 

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

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

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

  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 Foundation of Escape Analysis. Submitted for publication. Available from http://www.sci.univr.it/~spoto/papers.html, 2002.

  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. J. Palsberg and M. I. Schwartzbach. Object-Oriented Type Inference. In Proc. of OOPSLA’91, volume 26(11) of ACM SIGPLAN Notices, pages 146–161. ACM Press, November 1991.

    Google Scholar 

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

    Google Scholar 

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

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

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

  15. 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 Refinement of the Escape Property. In: Cortesi, A. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2002. Lecture Notes in Computer Science, vol 2294. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-47813-2_11

Download citation

  • DOI: https://doi.org/10.1007/3-540-47813-2_11

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43631-7

  • Online ISBN: 978-3-540-47813-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics