2010
DOI: 10.1145/1707801.1706327
|View full text |Cite
|
Sign up to set email alerts
|

Static determination of quantitative resource usage for higher-order programs

Abstract: We describe a new automatic static analysis for determining upper-bound functions on the use of quantitative resources for strict, higher-order, polymorphic, recursive programs dealing with possibly-aliased data. Our analysis is a variant of Tarjan's manual amortised cost analysis technique. We use a type-based approach, exploiting linearity to allow inference, and place a new emphasis on the number of references to a data object. The bounds we infer depend on the sizes of the various inputs to a program. They… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
146
0

Year Published

2010
2010
2020
2020

Publication Types

Select...
7
2

Relationship

3
6

Authors

Journals

citations
Cited by 59 publications
(147 citation statements)
references
References 43 publications
1
146
0
Order By: Relevance
“…Note that φ accounts only for the contribution of a single constructor rather than the accumulated potential that is accessible through the data structure. This is a notable difference compared to our earlier work on amortised analysis [24,12,13,8], where (accumulated) potential was defined recursively. We recover the accumulated potential for a complete data structure by collecting all contributions (through all references to its locations) using the notion of global types (cf.…”
Section: Potentialmentioning
confidence: 75%
“…Note that φ accounts only for the contribution of a single constructor rather than the accumulated potential that is accessible through the data structure. This is a notable difference compared to our earlier work on amortised analysis [24,12,13,8], where (accumulated) potential was defined recursively. We recover the accumulated potential for a complete data structure by collecting all contributions (through all references to its locations) using the notion of global types (cf.…”
Section: Potentialmentioning
confidence: 75%
“…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: 79%
“…Essentially, the inference is done by a conventional type checking that produces linear inequalities which can be solved with linear programming. Furthermore, it has been shown [2] that the same potential-based approach can be similarly applied to a wide range of resources such as time and stack space [5] as well as to polymorphic, higher-order programs [6]. Now consider the function pairs:L(int)→L(int, int) that computes the twoelement sets of a given set (if one views the input list as a set).…”
Section: Amortized Analysis: Examples and Intuitionmentioning
confidence: 99%