2006
DOI: 10.5381/jot.2006.5.5.a2
|View full text |Cite
|
Sign up to set email alerts
|

A Static Analysis for Synthesizing Parametric Specifications of Dynamic Memory Consumption.

Abstract: We present a static analysis for computing a parametric upper-bound of the amount of memory dynamically allocated by (Java-like) imperative object-oriented programs. We propose a general procedure for synthesizing non-linear formulas which conservatively estimate the quantity of memory explicitly allocated by a method as a function of its parameters. We have implemented the procedure and evaluated it on several benchmarks. Experimental results produced exact estimations for most test cases, and quite precise a… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
56
0

Year Published

2007
2007
2016
2016

Publication Types

Select...
6
1
1

Relationship

1
7

Authors

Journals

citations
Cited by 34 publications
(56 citation statements)
references
References 42 publications
(51 reference statements)
0
56
0
Order By: Relevance
“…The methods of Clauss seem to have remained largely within the highperformance/parallel computing community (see [24,32] for example) until 2006, when Braberman et al [13] (and see also [12]) showed how to adapt these techniques to predict the memory usage of (iterative) Java programs; at present this appears to be the only application of polytope methods within the programming language community.…”
Section: Ehrhart Polynomialsmentioning
confidence: 99%
“…The methods of Clauss seem to have remained largely within the highperformance/parallel computing community (see [24,32] for example) until 2006, when Braberman et al [13] (and see also [12]) showed how to adapt these techniques to predict the memory usage of (iterative) Java programs; at present this appears to be the only application of polytope methods within the programming language community.…”
Section: Ehrhart Polynomialsmentioning
confidence: 99%
“…In this paper, we consider resources as being the number of bytes that the code has dynamically allocated (Memory), the number of CPU cycles or bytecodes executed (CPU), the energy, in micro Joules, consumed during the execution (Energy) and the time spent executing the action 2 Meaning that resources consumed by native code are not accounted.…”
Section: A Definitionsmentioning
confidence: 99%
“…In [2], the estimation of the memory consumption of a method is given by a parametric function, where the parameters of the function are the actual method parameters. Let us formalize this function as f Memory ({x 1 , .…”
Section: History-based Predictionmentioning
confidence: 99%
See 1 more Smart Citation
“…For the imperative paradigm, which is closer to the system described here, e.g. [18,19,20] treat memory usage. The problem of component usage in a parallel setting is related to prevention of deadlocks and race conditions.…”
Section: Related Work and Conclusionmentioning
confidence: 99%