2006
DOI: 10.1007/11693024_3
|View full text |Cite
|
Sign up to set email alerts
|

Type-Based Amortised Heap-Space Analysis

Abstract: Abstract. We present a type system for a compile-time analysis of heap-space requirements of Java style object-oriented programs with explicit deallocation.Our system is based on an amortised complexity analysis: the data is arbitrarily assigned a potential related to its size and layout; allocations must be "payed for" from this potential. The potential of each input then furnishes an upper bound on the heap space usage for the computation on this input.We successfully treat inheritance, downcast, update and … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
81
0

Year Published

2009
2009
2023
2023

Publication Types

Select...
7
1

Relationship

1
7

Authors

Journals

citations
Cited by 90 publications
(81 citation statements)
references
References 19 publications
0
81
0
Order By: Relevance
“…In previous work [7][8][9][10] we and others argued that the method of amortised analysis [11,12] might be of help here. Therein, data structures are assigned non-negative numbers, called potential, in an a priori arbitrary fashion.…”
Section: Introductionmentioning
confidence: 78%
See 2 more Smart Citations
“…In previous work [7][8][9][10] we and others argued that the method of amortised analysis [11,12] might be of help here. Therein, data structures are assigned non-negative numbers, called potential, in an a priori arbitrary fashion.…”
Section: Introductionmentioning
confidence: 78%
“…We build upon a system of refinement types for amortised analysis for a Java-like language called Resource Aware JAva (RAJA) [7]. This is a powerful type system that can capture the heap-space requirements of many programs.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…For the imperative paradigm, which is closer to the system described here, e.g. [18,19,20] treat memory usage. The problem of component usage in a parallel setting is related to prevention of deadlocks and race conditions.…”
Section: Related Work and Conclusionmentioning
confidence: 99%
“…Note that the programming disciplines induced by these systems are quite restrictive, but some of these characterizations have in a second step led to more flexible criteria for statically checking complexity bounds on programs: ramification and safe recursion have inspired the work on interpretation methods for complexity [BMM11] on the one-hand, and linear type systems for nonsize-increasing computation [Hof03] on the other, which itself has led to typing methods for amortized complexity analysis [HJ06,HAH11].…”
Section: Introductionmentioning
confidence: 99%