2008 · 72 citations · 22 references
ComputingComputer EngineeringComputer ScienceAlgorithmsOptimizationProgramming LanguagesAlgorithm AnalysisApproximation AlgorithmsDynamic ProgrammingMemory ManagementMemory ModelingPerformance OptimizationBernstein PolynomialsHeap AnalysisHeap ManagementHeap ModelingHeap UsageInitial ConfigurationParameterized Memory ModelsPolynomial Optimization
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 Javalike imperative programs. We consider object allocations and deallocations 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 occupied by newly created objects in all states along a run from it. We over-approximate the peak memory consumption using a scopedmemory management where objects are organized in regions associated with the lifetime of methods. We model the problem of computing the maximum memory occupied by any region configuration as a parametric polynomial optimization problem over a polyhedral domain and resort to Bernstein basis to solve it. We apply the developed tool to several benchmarks.
22
The Daikon system for dynamic detection of likely invariants
Michael D. Ernst, Jeff Perkins, Philip J. Guo et al. · Science of Computer Programming · 2007 · 1.1K citations
The real-time specification for Java
Greg Bollella, James Gosling · Computer · 2000 · 988 citations
Region-Based Memory Management
Mads Tofte, Jean-Pierre Talpin · Information and Computation · 1997 · 617 citations
Proving the correctness of reactive systems using sized types
John Hughes, Lars Pareto, Amr Sabry · 1996 · 314 citations · Full text