ISMM103-braberman - Parametric Prediction of Heap Memory...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Parametric Prediction of Heap Memory Requirements V ctor Braberman Federico Fernandez Diego Garbervetsky Departamento de Computacion, FCEyN, UBA, Argentina { vbraber, ffernandez, diegog } Sergio Yovine CNRS-VERIMAG, France Abstract This work presents a technique to compute symbolic polynomial approximations of the amount of dynamic memory required to safely execute a method without running out of memory, for Java- like imperative programs. We consider object allocations and deal- locations made by the method and the methods it transitively calls. More precisely, given an initial configuration of the stack and the heap, the peak memory consumption is the maximum space occu- pied by newly created objects in all states along a run from it. We over-approximate the peak memory consumption using a scoped- memory management where objects are organized in regions as- sociated with the lifetime of methods. We model the problem of computing the maximum memory occupied by any region config- uration as a parametric polynomial optimization problem over a polyhedral domain and resort to Bernstein basis to solve it. We ap- ply the developed tool to several benchmarks. Categories and Subject Descriptors F3.2 [ Logics and Meaning of Programs ]: Program Analysis; F2.9 [ Analysis of Algorithms and Problem Complexity ]: General General Terms Languages, Theory, Verification, Reliability Keywords Heap Space Analysis, Heap Consumption, Memory Regions, Java 1. Introduction Automatic dynamic memory management is a very powerful and useful mechanism which does not come for free. Indeed, it is well known that garbage collection makes execution and response times extremely difficult to predict, mainly because of unbounded pause times. Several solutions have been proposed, either by building GCs with real-time performance, e.g. [4] (see [15] for a survey), or by using a scope-based programming paradigm, e.g. [18, 6, 9]. However, there is still the problem of predicting how much memory a program will need to run without crashing with an out-of-memory exception. This question is inherently hard [19]. In [7] we presented a technique for computing a parametric upper-bound of the amount of memory dynamically requested by Java-like imperative programs. The idea consists in quantifying dy- namic allocations done by a method. Given a method m with pa- Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee....
View Full Document

This note was uploaded on 02/24/2012 for the course CSE 503 taught by Professor Davidnotikin during the Spring '11 term at University of Washington.

Page1 / 10

ISMM103-braberman - Parametric Prediction of Heap Memory...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online