ACM Home Page
Please provide us with feedback. Feedback
Compile-time deallocation of individual objects
Full text PdfPdf (211 KB)
Source International Symposium on Memory Management archive
Proceedings of the 5th international symposium on Memory management table of contents
Ottawa, Ontario, Canada
SESSION: Formal semantics and static analysis table of contents
Pages: 138 - 149  
Year of Publication: 2006
ISBN:1-59593-221-6
Authors
Sigmund Cherem  Cornell University, Ithaca, NY
Radu Rugina  Cornell University, Ithaca, NY
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 1,   Downloads (12 Months): 33,   Citation Count: 6
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1133956.1133975
What is a DOI?

ABSTRACT

This paper presents a static analysis and transformation system that enables the deallocation of individual objects in Java programs. Given an input program, the compiler automatically inserts free statements to deallocate individual objects. This transformation is enabled by an inter-procedural, context-sensitive dataflow analysis that tracks the state of one object instance at a time, from the point where it is allocated, and up to the point where the object instance becomes unreachable and can be freed.For the SPECjvm98 benchmarks, free-instrumented programs generated by our compiler and executed in a virtual machine with explicit memory deallocation reclaim, on average, more than 50%of the total memory allocated by the program, and have a low run-time overhead of 1%. For several benchmarks, the analysis can free more than 85% of the total memory.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
 
3
4
 
5
6
7
8
9
 
10
M. Christiansen and P. Velschow. Region-based memory management in Java. Master's thesis, DIKU, University of Copenhagen, May 1998.
11
12
13
14
15
 
16
B. Jeannet, A. Loginov, T. Reps, and M. Sagiv. A relational approach to interprocedural shape analysis. In Proceedings of the International Static Analysis Symposium, Verona, Italy, August 2004.
 
17
N. Rinetzky, M. Sagiv, and E. Yahav. Interprocedural shape analysis for cutpoint-free programs. In Proceedings of the 12th International Static Analysis Symposium, London, UK, September 2005.
18
 
19
R. Shaham, E. Yahav, E. K. Kolodner, and M. Sagiv. Establishing local temporal heap safety properties with applications to compile-time memory management. In Proceedings of the 10th International Static Analysis Symposium, San Diego, CA, June 2003.
 
20
M. Sharir and A. Pnueli. Two approaches to interprocedural data flow analysis. In S. Muchnick and N.D. Jones, editors, Program Flow Analysis: Theory and Applications. Prentice Hall Inc, 1981.
21
 
22
J. Uniejewski. SPEC Benchmark Suite: Designed for today's advanced systems. SPEC Newsletter Volume 1, Issue 1, SPEC, Fall 1989.
 
23
24


Collaborative Colleagues:
Sigmund Cherem: colleagues
Radu Rugina: colleagues