Proceedings Article10.1145/1296907.1296922
Heap space analysis for java bytecode
Elvira Albert,Samir Genaim,Miguel Gómez-Zamalloa +2 more
- 21 Oct 2007
- pp 105-116
TL;DR: The prototype implementation of a heap space analysis for (sequential) Java bytecode is reported and demonstrated by means of a series of examples which illustrate how the analysis naturally encompasses standard data-structures like lists, trees and arrays with several dimensions written in object-oriented programming style.
read more
Abstract: This article presents a heap space analysis for (sequential) Java bytecode The analysis generates heap space cost relations which define at compile-time the heap consumption of a program as a function of its data size These relations can be used to obtain upper bounds on the heap space located during the execution of the different methods In addition, we describe how to refine the cost relations, by relying on escape analysis, in order to take into account the heap space that can be safely deallocated by the garbage collector upon exit from a corresponding method These refined cost relations are then used to infer upper bounds on the active heap space upon methods return Example applications for the analysis consider inference of constant heap usage and heap usage proportional to the data size (including polynomial and exponential heap consumption) Our prototype implementation is reported and demonstrated by means of a series of examples which illustrate how the analysis naturally encompasses standard data-structures like lists, trees and arrays with several dimensions written in object-oriented programming style
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Analysing memory resource bounds for low-level programs
Wei-Ngan Chin,Huu Hai Nguyen,Corneliu Popeea,Shengchao Qin +3 more
- 07 Jun 2008
TL;DR: This paper shows how memory resource bounds can be inferred for assembly-level programs, and relies on a Presburger solver to capture memory requirements symbolically, and to perform fixpoint analysis for loops and recursion.
Parametric inference of memory requirements for garbage collected languages
Elvira Albert,Samir Genaim,Miguel Gómez-Zamalloa +2 more
- 05 Jun 2010
TL;DR: A novel approach to inferring upper bounds on memory requirements of Java-like programs which is parametric on the notion of object lifetime, i.e., on when objects become collectible, and infers accurateupper bounds on the memory consumption for a reachability-based garbage collector.
Live heap space analysis for languages with garbage collection
Elvira Albert,Samir Genaim,Miguel Gómez-Zamalloa Gil +2 more
- 19 Jun 2009
TL;DR: This paper presents, the best of their knowledge, the first live heap space analysis for garbage-collected languages which infers accurate upper bounds on the peak heap usage of a program's execution that are not restricted to any complexity class, i.e., exponential, logarithmic, polynomial, etc., bounds.
Finding heap-bounds for hardware synthesis.
Byron Cook,Ashutosh Gupta,Stephen Magill,Andrey Rybalchenko,Jiri Simsa,Satnam Singh,Vafeiadis +6 more
- 01 Jan 2009
TL;DR: A constraint based method for the discovery of memory usage bounds is proposed, which leads to the first-known C-to-gates hardware synthesis supporting programs with non-trivial use of dynamically allocated memory, e.g., linked lists maintained with malloc and free.
33
Finding heap-bounds for hardware synthesis
Byron Cook,Ashutosh Gupta,Stephen Magill,Andrey Rybalchenko,Jiri Simsa,Satnam Singh,Viktor Vafeiadis +6 more
- 11 Dec 2009
TL;DR: In this paper, the authors propose a constraint based method for the discovery of memory usage bounds, which leads to the first known C-to-gate hardware synthesis supporting programs with non-trivial use of dynamically allocated memory, e.g., linked lists maintained with malloc and free.
References
•Book
The Java Virtual Machine Specification
Tim Lindholm,Frank Yellin +1 more
- 19 Sep 1996
TL;DR: In this article, the authors present a detailed overview of the Java Virtual Machine, including the internal structure of the class file format, the internal form of Fully Qualified Class and Interface names, and the implementation of new class instances.
Proof-carrying code
George C. Necula
- 01 Jan 1997
TL;DR: It is shown in this paper how proof-carrying code might be used to develop safe assembly-language extensions of ML programs and the adequacy of concrete representations for the safety policy, the safety proofs, and the proof validation is proved.
1.9K
Resource bound certification
Karl Crary,Stephnie Weirich +1 more
- 05 Jan 2000
TL;DR: This work presents a decidable type system capable of specifying and certifying bounds on resource consumption, and provides a fully automatic compiler generating certified executables from source-level programs.
•Journal Article
Mobile Resource Guarantees for smart devices
TL;DR: The Mobile Resource Guarantees framework is presented: a system for ensuring that downloaded programs are free from run-time violations of resource bounds, and a novel programming language with resource constraints encoded in function types is used to streamline the generation of proofs of resource usage.
232
Mobile resource guarantees for smart devices
David Aspinall,Stephen Gilmore,Martin Hofmann,Donald Sannella,Ian Stark +4 more
- 10 Mar 2004
TL;DR: In this paper, the authors present the Mobile Resource Guarantees framework, a system for ensuring that downloaded programs are free from run-time violations of resource bounds, in contrast to cryptographic certificates of code origin, these are independent of trust networks.
Related Papers (5)
Elvira Albert,Puri Arenas,Samir Genaim,Germán Puebla,Damiano Zanardini +4 more
- 24 Mar 2007
Wei-Ngan Chin,Huu Hai Nguyen,Shengchao Qin,Martin Rinard +3 more
- 07 Sep 2005