2010
DOI: 10.1002/cpe.1656
|View full text |Cite
|
Sign up to set email alerts
|

Quantitative dynamic‐memory analysis for Java

Abstract: Space-and time-predictability are hard to achieve for object-oriented languages with automated dynamicmemory management. Although there has been significant work to design APIs, such as the Real-Time Specification for Java (RTSJ), and to implement garbage collectors to enable real-time performance, quantitative space analysis is still in its infancy. This work presents the integration of a series of compiletime analysis techniques to help predicting quantitative memory usage. In particular, we focus on providi… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
9
0

Year Published

2011
2011
2022
2022

Publication Types

Select...
4
2
1

Relationship

2
5

Authors

Journals

citations
Cited by 7 publications
(9 citation statements)
references
References 38 publications
0
9
0
Order By: Relevance
“…For each method, several quantities are characterized via recurrence equations: these include total memory allocation, active memory (memory that is allocated by a method and cannot yet be deallocated when the method exits), and peak heap space consumption. Also in the setting of Java, Braberman et al [2008Braberman et al [ , 2006 and Garbervetsky et al [2011] synthesize a formula that bounds the amount of memory allocated by a method, as a function of its parameters. The placement of deallocation operations is inferred, but is scope-based.…”
Section: Related Workmentioning
confidence: 99%
“…For each method, several quantities are characterized via recurrence equations: these include total memory allocation, active memory (memory that is allocated by a method and cannot yet be deallocated when the method exits), and peak heap space consumption. Also in the setting of Java, Braberman et al [2008Braberman et al [ , 2006 and Garbervetsky et al [2011] synthesize a formula that bounds the amount of memory allocated by a method, as a function of its parameters. The placement of deallocation operations is inferred, but is scope-based.…”
Section: Related Workmentioning
confidence: 99%
“…Recently, there were relevant advances in resource analysis for imperative and functional programs [12,8,10,17,5,20,19,21]. Most of them are aimed at inferring of resource consumption bounds rather than verifying them.…”
Section: Related Workmentioning
confidence: 99%
“…Another approach is trying directly to infer the consumption in those cases. In [10,17] we propose a technique to automatically infer memory consumption bounds on Java like programs. Essentially the technique works as follows: given a method featuring a loop (with possible several nested loops) including a new statement and a predicate describing its iteration space (i.e.…”
Section: Verifying Complex Contractsmentioning
confidence: 99%
“…Only a few small real-life programs were reported as analyzed in the literature by approaches targeting Java-like languages. Those approaches were based on recurrence equation solving, implemented in Costa [3,6], or on symbolic calculation over iteration spaces, implemented in JConsume [11,21]. Costa translates programs into sets of recurrence equations.…”
Section: Introductionmentioning
confidence: 99%
“…They both suffer from scalability problems as they cannot even deal with medium-size applications. JConsume has been reported to be able to cope with a few small real-life programs in [21]. However, those examples possibly represent the largest programs which could be successfully handled by that approach with reasonable amount of human effort.…”
Section: Introductionmentioning
confidence: 99%