TY - GEN
T1 - Parametric heap usage analysis for functional programs
AU - Unnikrishnan, Leena
AU - Stoller, Scott D.
PY - 2009
Y1 - 2009
N2 - This paper presents an analysis that derives a formula describing the worst-case live heap space usage of programs in a functional language with automated memory management (garbage collection). First, the given program is automatically transformed into bound functions that describe upper bounds on the live heap space usage and other related space metrics in terms of the sizes of function arguments. The bound functions are simplified and rewritten to obtain recurrences, which are then solved to obtain the desired formulas characterizing the worst-case space usage. These recurrences may be difficult to solve due to uses of the maximum operator. We give methods to automatically solve categories of such recurrences. Our analysis determines and exploits monotonicity and monotonicity-like properties of bound functions to derive upper bounds on heap usage, without considering behaviors of the program that cannot lead to maximal space usage.
AB - This paper presents an analysis that derives a formula describing the worst-case live heap space usage of programs in a functional language with automated memory management (garbage collection). First, the given program is automatically transformed into bound functions that describe upper bounds on the live heap space usage and other related space metrics in terms of the sizes of function arguments. The bound functions are simplified and rewritten to obtain recurrences, which are then solved to obtain the desired formulas characterizing the worst-case space usage. These recurrences may be difficult to solve due to uses of the maximum operator. We give methods to automatically solve categories of such recurrences. Our analysis determines and exploits monotonicity and monotonicity-like properties of bound functions to derive upper bounds on heap usage, without considering behaviors of the program that cannot lead to maximal space usage.
KW - Functional Languages
KW - Garbage Collection
KW - Live Heap Space Analysis
KW - Recurrence Relations
UR - https://www.scopus.com/pages/publications/70450227622
U2 - 10.1145/1542431.1542451
DO - 10.1145/1542431.1542451
M3 - Conference contribution
AN - SCOPUS:70450227622
SN - 9781605583471
T3 - International Symposium on Memory Management, ISMM
SP - 139
EP - 148
BT - ISMM'09 - Proceedings of the 2009 ACM SIGPLAN International Symposium on Memory Management
T2 - 2009 ACM SIGPLAN International Symposium on Memory Management, ISMM'09
Y2 - 19 June 2009 through 20 June 2009
ER -