Space consumption analysis by abstract interpretation: Reductivity properties
In a previous paper we presented an abstract interpretation-based static analysis for inferring heap and stack memory consumption in a functional language. The language, called Safe, is eager and first-order, and its memory management system is based on heap regions instead of the more conventional...
Saved in:
| Published in: | Science of computer programming Vol. 111; pp. 458 - 482 |
|---|---|
| Main Authors: | , , |
| Format: | Journal Article |
| Language: | English |
| Published: |
Elsevier B.V
01.11.2015
|
| Subjects: | |
| ISSN: | 0167-6423, 1872-7964 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Summary: | In a previous paper we presented an abstract interpretation-based static analysis for inferring heap and stack memory consumption in a functional language. The language, called Safe, is eager and first-order, and its memory management system is based on heap regions instead of the more conventional approach of having a garbage collector.
In this paper we concentrate on an important property of our analysis, namely that the inferred bounds are reductive under certain reasonable conditions. This means that by iterating the analysis using as input the prior inferred bound, we can get tighter and tighter bounds, all of them correct. In some cases, even the exact bound is obtained.
The paper includes several examples and case studies illustrating in detail the reductivity property of the inferred bounds.
•First space analysis for a functional language with regions.•Our bounds go beyond multivariate polynomials.•Our bounds have the property of reductivity, i.e. they improve by iteration.•We have formally proved the correctness of all the results and implemented all the algorithms. |
|---|---|
| ISSN: | 0167-6423 1872-7964 |
| DOI: | 10.1016/j.scico.2014.04.014 |