Amortized Analysis at ICFP'12
Arbeit über Amortisierte Analyse Funktionaler Programme mit verzörgerter Auswertung wird bei der ICFP 2012 in Kopenhagen, Dänemark, vorgestellt
Our work with the title
Automatic Amortised Analysis of Dynamic Memory Allocation for Lazy Functional Programs
has been accepted for publication at the renowned
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. We present our analysis as a proof system for predicting heap allocations of a minimal functional language (including higher-order functions and recursive data types) and define a formal cost model based on Launchbury’s natural semantics for lazy evaluation. We prove the soundness of our analysis with respect to the cost model. Our approach is illustrated by a number of representative and non-trivial examples that have been analysed using a prototype implementation of our analysis.
- Universidade do Porto, Portugal
- Ludwig-Maximilians-Universität Munich, Bavaria
- University of St Andrews, Scotland
Note that you can test our analysis through our publicly available prototype implementation.