ACM Home Page
Please provide us with feedback. Feedback
Heap space analysis for java bytecode
Full text PdfPdf (344 KB)
Source
International Symposium on Memory Management archive
Proceedings of the 6th international symposium on Memory management table of contents
Montreal, Quebec, Canada
SESSION: Static analysis and verification table of contents
Pages: 105 - 116  
Year of Publication: 2007
ISBN:978-1-59593-893-0
Authors
Elvira Albert  Complutense University of Madrid, Madrid, Spain
Samir Genaim  Technical University of Madrid, Madrid, Spain
Miguel Gomez-Zamalloa  Complutense University of Madrid, Madrid, Spain
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 114,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1296907.1296922
What is a DOI?

ABSTRACT

This article presents a heap space analysis for (sequential) Java bytecode. The analysis generates heap space cost relations which define at compile-time the heap consumption of a program as a function of its data size. These relations can be used to obtain upper bounds on the heap space located during the execution of the different methods. In addition, we describe how to refine the cost relations, by relying on escape analysis, in order to take into account the heap space that can be safely deallocated by the garbage collector upon exit from a corresponding method. These refined cost relations are then used to infer upper bounds on the active heap space upon methods return. Example applications for the analysis consider inference of constant heap usage and heap usage proportional to the data size (including polynomial and exponential heap consumption). Our prototype implementation is reported and demonstrated by means of a series of examples which illustrate how the analysis naturally encompasses standard data-structures like lists, trees and arrays with several dimensions written in object-oriented programming style.


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
E. Albert, P. Arenas, S. Genaim, and G. Puebla. Automatic Inference of Upper Bounds for Cost Equation Systems. Submitted, 2007.
 
2
E. Albert, P. Arenas, S. Genaim, G. Puebla, and D. Zanardini. Cost analysis of java bytecode. In 16th European Symposium on Programming, ESOP'07, Lecture Notes in Computer Science. Springer, March 2007.
 
3
 
4
E. Albert, G. Puebla, and M. Hermenegildo. Abstraction--Carrying Code. In Proc. of LPAR'04, number 3452 in LNAI, pages 380--397. Springer--Verlag, 2005.
 
5
D. Aspinall, S. Gilmore, M. Hofmann, D. Sannella, and I. Stark. Mobile Resource Guarantees for Smart Devices. In CASSIS'04, number 33--62 in LNCS. Springer, 2005.
 
6
 
7
L. Beringer, M. Hofmann, A. Momigliano, and O. Shkaravska. Automatic Certification of Heap Consumption. In Proc. of LPAR'04, LNCS 3452, pages 347--362. Springer, 2004.
8
 
9
Victor Braberman, Diego Garbervetsky, and Sergio Yovine. A static analysis for synthesizing parametric specifications of dynamic memory consumption. Journal of Object Technology, 5(5):31--58, 2006.
 
10
F. Bueno, D. Cabeza, M. Carro, M. Hermenegildo, P. Lopez-- Garcia, and G. Puebla (Eds.). The Ciao System. Ref. Manual (v1.13). Technical report, C. S. School (UPM), 2006. Available at http://www.ciaohome.org.
 
11
D. Cachera, D. Pichardie T. Jensen, and G. Schneider. Certified memory usage analysis. In FM'05, number 3582 in LNCS. Springer, 2005.
 
12
A. Chander, D. Espinosa, N. Islam, P. Lee, and G. Necula. Enforcing resource bounds via static verification of dynamic checks. In Proc. of ESOP'05, volume 3444 of Lecture Notes in Computer Science, pages 311--325. Springer, 2005.
 
13
W. Chin, H. Nguyen, S. Qin, and M. Rinard. Memory Usage Verification for OO Programs. In Proc. of SAS'05, LNCS 3672, pages 70--86. Springer, 2005.
14
 
15
 
16
M. Hofmann. Certification of Memory Usage. In Theoretical Computer Science, 8th Italian Conference, ICTCS, volume 2841 of Lecture Notes in Computer Science, page 21. Springer, 2003.
17
 
18
M. Hofmann and S. Jost. Type--Based Amortised Heap--Space Analysis. In 15th European Symposium on Programming, ESOP 2006, volume 3924 of Lecture Notes in Computer Science, pages 22--37. Springer, 2006.
19
 
20
 
21
Patricia M. Hill, Etienne Payet, and Fausto Spoto. Path--length analysis of object--oriented programs. In Proc. EAAI, 2006.
22
 
23
S. Rossignoli and F. Spoto. Detecting Non--Cyclicity by Abstract Compilation into Boolean Functions. In E. A. Emerson and K. S. Namjoshi, editors, Proc. of the 7th workshop on Verification, Model Checking and Abstract Interpretation, volume 3855 of Lecture Notes in Computer Science, pages 95--110, Charleston, SC, USA, January 2006. Springer--Verlag.
 
24
 
25
P. Vasconcelos and K. Hammond. Inferring Cost Equations for Recursive, Polymorphic and Higher--Order Functional Programs. In IFL, volume 3145 of LNCS. Springer, 2003.


Collaborative Colleagues:
Elvira Albert: colleagues
Samir Genaim: colleagues
Miguel Gomez-Zamalloa: colleagues