Skip to main content

Optimized Live Heap Bound Analysis

  • Conference paper
  • First Online:

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

Abstract

This paper describes a general approach for optimized live heap space and live heap space-bound analyses for garbage-collected languages. The approach is based on program analysis and transformations and is fully automatic. In our experience, the space-bound analysis generally produces accurate (tight) upper bounds in the presence of partially known input structures. The optimization drastically improves the analysis efficiency. The analyses have been implemented and experimental results confirm their accuracy and efficiency.

The authors gratefully acknowledge the support of ONR under grants N00014- 99-1-0132, N00014-99-1-0358 and N00014-01-1-0109 and of NSF under grants CCR-9711253 and CCR-9876058. Authors’ address: Computer Science Department, SUNY at Stony Brook, Stony Brook, NY 11794-4400 USA.

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. H. Abelson and G. J. Sussman. Structure and Interpretation of Computer Programs. MIT Press, 2 edition, 1996.

    Google Scholar 

  2. P. Altenbernd. On the false path problem in hard real-time programs. In Proceedings of the 8th EuroMicro Workshop on Real-Time Systems, pages 102–107, L’Aquila, June 1996.

    Google Scholar 

  3. D. Bacon, C. Attanasio, H. Lee, V. Rajan, and S. Smith. Java without the coffee breaks: A non-intrusive multiprocessor garbage collector. In Proc. ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). ACM Press, 2001.

    Google Scholar 

  4. W.-N. Chin and S.-C. Khoo. Calculating sized types. In Proceedings of the ACM SIGPLAN 2000 Workshop on Partial Evaluation and Semantics-Based Program Manipulation, pages 62–72. ACM, New York, Jan. 2000.

    Google Scholar 

  5. T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algorithms. The MIT Press/McGraw-Hill, 1990.

    Google Scholar 

  6. K. Crary and S. Weirich. Resource bound certification. In Conference Record of the 27th Annual ACM Symposium on Principles of Programming Languages. ACM, New York, Jan. 2000.

    Google Scholar 

  7. P. Flajolet, B. Salvy, and P. Zimmermann. Automatic average-case analysis of algorithms. Theoretical Computer Science, Series A, 79(1):37–109, Feb. 1991.

    Article  MATH  MathSciNet  Google Scholar 

  8. Proceedings of the 4th International Conference on Functional Programming Languages and Computer Architecture. ACM, New York, Sept. 1989.

    Google Scholar 

  9. S. Ghosh, M. Martonosi, and S. Malik. Cache miss equations: A compiler framework for analyzing and tuning memory behavior. ACM Trans. Program. Lang. Syst., 21(4):703–746, July 1999.

    Article  Google Scholar 

  10. G. Gómez and Y. A. Liu. Automatic time-bound analysis for a higher-order language. In Proceedings of the ACM SIGPLAN 2002 Workshop on Partial Evaluation and Semantics-Based Program Manipulation, pages 75–86. ACM Press, 2002.

    Google Scholar 

  11. R. Henriksson. Scheduling Garbage Collection in Embedded Systems. PhD thesis, Department of Computer Science, Lund University, Sept. 1998.

    Google Scholar 

  12. M. Hofmann and S. Jost. Static prediction of heap space usage for first-order functional programs. In Proc. ACM Symposium on Principles of Programming Languages. ACM Press, Jan. 2003.

    Google Scholar 

  13. J. Hughes and L. Pareto. Recursion and dynamic data-structures in bounded space: Towards embedded ML programming. In Proceedings of the 1999 ACM SIGPLAN International Conference on Functional Programming, pages 70–81. ACM, New York, Sept. 1999.

    Google Scholar 

  14. J. Hughes, L. Pareto, and A. Sabry. Proving the correctness of reactive systems using sized types. In Conference Record of the 23rd Annual ACM Symposium on Principles of Programming Languages, pages 410–423. ACM, New York, Jan. 1996.

    Google Scholar 

  15. S. B. Jones and D. Le Métayer. Compile-time garbage collection by sharing analysis. In FPCA 1989 [8], pages 54–74.

    Google Scholar 

  16. Proceedings of the ACM SIGPLAN 1999 Workshop on Languages, Compilers, and Tools for Embedded Systems. ACM, New York, May 1999.

    Google Scholar 

  17. D. Le Métayer. Ace: An automatic complexity evaluator. ACM Trans. Program. Lang. Syst., 10(2):248–266, Apr. 1988.

    Article  Google Scholar 

  18. Y. A. Liu and G. Gómez. Automatic accurate cost-bound analysis for high-level languages. IEEE Transactions on Computers, 50(12):1295–1309, Dec. 2001.

    Article  Google Scholar 

  19. Y. A. Liu and S. D. Stoller. Optimizing Ackermann’s function by incrementalization. Technical Report DAR 01-1, Computer Science Department, SUNY Stony Brook, Jan. 2001.

    Google Scholar 

  20. M. Martonosi, A. Gupta, and T. Anderson. Effiectiveness of trace sampling for performance debugging tools. In Proceedings of the 1993 ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, pages 248–259. ACM, New York, 1992.

    Google Scholar 

  21. C. Y. Park. Predicting program execution times by analyzing static and dynamic program paths. Real-Time Systems, 5:31–62, 1993.

    Article  Google Scholar 

  22. P. Persson. Live memory analysis for garbage collection in embedded systems. In LCTES 1999 [16], pages 45–54.

    Google Scholar 

  23. W. Pugh. The Omega Test: A fast and practical integer programming algorithm for dependence analysis. Commun. ACM, 31(8), Aug. 1992.

    Google Scholar 

  24. M. Rosendahl. Automatic complexity analysis. In FPCA 1989 [8], pages 144–156.

    Google Scholar 

  25. I. Ryu. Issues and challenges in developing embedded software for information appliances and telecommunication terminals. In LCTES 1999 [16], pages 104–120. Invited talk.

    Google Scholar 

  26. L. Unnikrishnan, S. D. Stoller, and Y. A. Liu. Optimized live heap bound analysis. Technical Report DAR 01-2, Computer Science Dept., SUNY at Stony Brook, Oct. 2001, Available at http://www.cs.sunysb.edu/~stoller/dar012.html.

  27. L. Unnikrishnan, S. D. Stoller, and Y. A. Liu. Automatic accurate live memory analysis for garbage-collected languages. In Proc. ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems (LCTES), pages 102–111. ACM Press, 2001.

    Google Scholar 

  28. R. Wilhelm and C. Ferdinand. On predicting data cache behaviour for real-time systems. In Proceedings of the ACM SIGPLAN 1998 Workshop on Languages, Compilers, and Tools for Embedded Systems, volume 1474 of Lecture Notes in Computer Science, pages 16–30. Springer-Verlag, June 1998.

    Google Scholar 

  29. P. Zimmermann and W. Zimmermann. The automatic complexity analysis of divide-and-conquer algorithms. In Computer and Information Sciences VI. Elsevier, 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Unnikrishnan, L., Stoller, S.D., Liu, Y.A. (2003). Optimized Live Heap Bound Analysis. In: Zuck, L.D., Attie, P.C., Cortesi, A., Mukhopadhyay, S. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2003. Lecture Notes in Computer Science, vol 2575. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36384-X_9

Download citation

  • DOI: https://doi.org/10.1007/3-540-36384-X_9

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-00348-9

  • Online ISBN: 978-3-540-36384-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics