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...

Full description

Saved in:
Bibliographic Details
Published in:Science of computer programming Vol. 111; pp. 458 - 482
Main Authors: Montenegro, Manuel, Peña, Ricardo, Segura, Clara
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!
Description
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