Proving the correctness of reactive systems using sized types
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Region-based memory management
Information and Computation
Recursion and dynamic data-structures in bounded space: towards embedded ML programming
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Pointer and escape analysis for multithreaded programs
PPoPP '01 Proceedings of the eighth ACM SIGPLAN symposium on Principles and practices of parallel programming
The Real-Time Specification for Java
The Real-Time Specification for Java
Static prediction of heap space usage for first-order functional programs
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Data Flow Analysis for Software Prefetching Linked Data Structures in Java
Proceedings of the 2001 International Conference on Parallel Architectures and Compilation Techniques
Optimized Live Heap Bound Analysis
VMCAI 2003 Proceedings of the 4th International Conference on Verification, Model Checking, and Abstract Interpretation
Garbage collection for embedded systems
Proceedings of the 4th ACM international conference on Embedded software
Region analysis and transformation for Java programs
Proceedings of the 4th international symposium on Memory management
Verifying safety policies with size properties and alias controls
Proceedings of the 27th international conference on Software engineering
Precise Analysis of Memory Consumption using Program Logics
SEFM '05 Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods
Heap space analysis for java bytecode
Proceedings of the 6th international symposium on Memory management
Semi-Automatic Region-Based Memory Management for Real-Time Java Embedded Systems
RTCSA '07 Proceedings of the 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications
The Daikon system for dynamic detection of likely invariants
Science of Computer Programming
Analysing memory resource bounds for low-level programs
Proceedings of the 7th international symposium on Memory management
Fast Escape Analysis for Region-based Memory Management
Electronic Notes in Theoretical Computer Science (ENTCS)
Cost analysis of java bytecode
ESOP'07 Proceedings of the 16th European conference on Programming
Memory usage verification for OO programs
SAS'05 Proceedings of the 12th international conference on Static Analysis
Type-Based amortised heap-space analysis
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Analysing memory resource bounds for low-level programs
Proceedings of the 7th international symposium on Memory management
Dynamic prediction of collection yield for managed runtimes
Proceedings of the 14th international conference on Architectural support for programming languages and operating systems
Live heap space analysis for languages with garbage collection
Proceedings of the 2009 international symposium on Memory management
Parametric heap usage analysis for functional programs
Proceedings of the 2009 international symposium on Memory management
On transforming Java-like programs into memory-predictable code
Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems
"Carbon Credits" for Resource-Bounded Computations Using Amortised Analysis
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Asymptotic Resource Usage Bounds
APLAS '09 Proceedings of the 7th Asian Symposium on Programming Languages and Systems
IEEE Transactions on Very Large Scale Integration (VLSI) Systems
Parametric inference of memory requirements for garbage collected languages
Proceedings of the 2010 international symposium on Memory management
Comparing cost functions in resource analysis
FOPARA'09 Proceedings of the First international conference on Foundational and practical aspects of resource analysis
Improvements to a resource analysis for hume
FOPARA'09 Proceedings of the First international conference on Foundational and practical aspects of resource analysis
Symbolic and analytic techniques for resource analysis of java bytecode
TGC'10 Proceedings of the 5th international conference on Trustworthly global computing
Worst-case analysis of heap allocations
ISoLA'10 Proceedings of the 4th international conference on Leveraging applications of formal methods, verification, and validation - Volume Part II
Making the common case the only case with anticipatory memory allocation
FAST'11 Proceedings of the 9th USENIX conference on File and stroage technologies
Task-level analysis for a language with async/finish parallelism
Proceedings of the 2011 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems
Resource usage contracts for .NET
Proceedings of the 1st Workshop on Developing Tools as Plug-ins
Cost analysis of object-oriented bytecode programs
Theoretical Computer Science
Making the common case the only case with anticipatory memory allocation
ACM Transactions on Storage (TOS)
Automatic inference of resource consumption bounds
LPAR'12 Proceedings of the 18th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Multivariate amortized resource analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Automatic amortised analysis of dynamic memory allocation for lazy functional programs
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Science of Computer Programming
A hybrid approach for resource-based comparison of adaptable Java applications
Science of Computer Programming
Safety-critical Java programs from Circus models
Real-Time Systems
Hi-index | 0.00 |
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.