The Journal of Object Technology · 2006 · 38 citations · 29 references
ComputingComputer EngineeringComputer ScienceFormal MethodsProgramming LanguagesResource Utilization AnalysisMemory ManagementMemory ModelingStatic AnalysisStatic Code AnalysisDynamic Memory AllocationDynamic Memory ManagementMemory Access PatternsMemory Allocation OverheadObject AllocationObject-oriented ArchitectureParameterized Memory ModelsTest Cases
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 approximations for many of the others. We also apply our technique to compute usage in the context of scoped memory and discuss some open issues.
29
Automatic discovery of linear restraints among variables of a program
Patrick Cousot, Nicolas Halbwachs · 1978 · 1.6K citations
The real-time specification for Java
Greg Bollella, James Gosling · Computer · 2000 · 988 citations
Dynamically discovering likely program invariants to support program evolution
Michael D. Ernst, Jake Cockrell, William G. Griswold et al. · 1999 · 355 citations
Proving the correctness of reactive systems using sized types
John Hughes, Lars Pareto, Amr Sabry · 1996 · 314 citations · Full text