Heap Space Analysis for Java']Java Bytecode

被引:0
作者
Albert, Elvira [1 ]
Genaim, Samir [2 ]
Gomez-Zamalloa, Miguel [1 ]
机构
[1] Univ Complutense Madrid, DSIC, E-28040 Madrid, Spain
[2] Tech Univ Madrid, CLIP, Madrid, Spain
来源
ISMM'07: PROCEEDINGS OF THE 2007 INTERNATIONAL SYMPOSIUM ON MEMORY MANAGEMENT | 2007年
关键词
Heap Space Analysis; Heap Consumption; Low-level Languages; !text type='Java']Java[!/text] Bytecode;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 allocated 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.
引用
收藏
页码:105 / +
页数:2
相关论文
共 25 条
[1]  
Albert E, 2005, LECT NOTES COMPUT SC, V3452, P380
[2]  
ALBERT E, 2007, ELECT NOTES THEORETI
[3]  
ALBERT E, 2007, LECT NOTES COMPUTER
[4]  
ALBERT E, 2007, AUTOMATIC INFE UNPUB
[5]  
ASPINALL D, 2005, LNCS, V3362
[6]   Precise analysis of memory consumption using program logics [J].
Barthe, G ;
Pavlova, M ;
Schneider, G .
SEFM 2005: THIRD IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND FORMAL METHODS, PROCEEDINGS, 2005, :86-95
[7]  
Beringer L, 2005, LECT NOTES COMPUT SC, V3452, P347
[8]   Escape analysis for Java']Java™:: Theory and practice [J].
Blanchet, B .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2003, 25 (06) :713-775
[9]   A Static Analysis for Synthesizing Parametric Specifications of Dynamic Memory Consumption [J].
Braberman, Victor ;
Garbervetsky, Diego ;
Yovine, Sergio .
JOURNAL OF OBJECT TECHNOLOGY, 2006, 5 (05) :31-58
[10]  
BUENO F, 2006, CIAO SYSTEM REF MANU