Proceedings of the 17th ACM SIGPLAN International Conference on Functional Programming 2012
DOI: 10.1145/2364527.2364575
|View full text |Cite
|
Sign up to set email alerts
|

Automatic amortised analysis of dynamic memory allocation for lazy functional programs

Abstract: This paper describes the first successful attempt, of which we are aware, to define an automatic, type-based static analysis of resource bounds for lazy functional programs. Our analysis uses the automatic amortisation approach developed by Hofmann and Jost, which was previously restricted to eager evaluation. In this paper, we extend this work to a lazy setting by capturing the costs of unevaluated expressions in type annotations and by amortising the payment of these costs using a notion of lazy potential. W… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2

Citation Types

0
25
0

Year Published

2013
2013
2023
2023

Publication Types

Select...
4
3
1

Relationship

1
7

Authors

Journals

citations
Cited by 27 publications
(25 citation statements)
references
References 40 publications
0
25
0
Order By: Relevance
“…The theory that was developed in this paper is entirely untyped. Previous work has shown that information from the type system can assist with cost analyses [Hackett and Hutton 2018;Jost et al 2010;Simões et al 2012], so it is natural to ask if a type system would similarly augment our work. A logical starting point would be modifying the denotational semantics to apply to a typed lambda calculus such as System F; this may provide a way to replicate the cost parametricity results of Hackett and Hutton [2018] in a denotational setting.…”
Section: Conclusion and Further Workmentioning
confidence: 99%
“…The theory that was developed in this paper is entirely untyped. Previous work has shown that information from the type system can assist with cost analyses [Hackett and Hutton 2018;Jost et al 2010;Simões et al 2012], so it is natural to ask if a type system would similarly augment our work. A logical starting point would be modifying the denotational semantics to apply to a typed lambda calculus such as System F; this may provide a way to replicate the cost parametricity results of Hackett and Hutton [2018] in a denotational setting.…”
Section: Conclusion and Further Workmentioning
confidence: 99%
“…Our techniques can benefit from these approaches when each cost equation has at most one recursive call. Cost analysis techniques that are based on amortised analysis [15,16], could, in principle, handle some of our examples when the bounds are polynomial, and the data are over the non-negative integers. Solving CRs using template functions and real quantifier elimination has been considered before in [7].…”
Section: Conclusion and Related Workmentioning
confidence: 99%
“…The obtained sizechange information forms the basis for the computation of actual bounds on loop iterations and recursion depths; using counter instrumentation [27], ranking functions [2,6,15,53], recurrence relations [3,4], and abstract interpretation itself [18,60]. Automatic resource analysis techniques for functional programs are based on sized types [56], recurrence relations [23], term-rewriting [10], and amortized resource analysis [31,34,41,52].…”
Section: Introductionmentioning
confidence: 99%
“…Furthermore, techniques that can derive polynomial bounds are limited to bounds that depend on predefined lists and binary trees [29,31], or integers [15,53]. Finally, resource analyses for functional programs have been implemented for custom languages that are not supported by mature tools for compilation and development [10,31,34,41,52,56].…”
Section: Introductionmentioning
confidence: 99%