Loading…
A Transformational Approach to Resource Analysis with Typed-norms Inference
In order to automatically infer the resource consumption of programs, analyzers track how data sizes change along program’s execution. Typically, analyzers measure the sizes of data by applying norms which are mappings from data to natural numbers that represent the sizes of the corresponding data....
Saved in:
Published in: | Theory and practice of logic programming 2020-05, Vol.20 (3), p.310-357 |
---|---|
Main Authors: | , , , |
Format: | Article |
Language: | English |
Subjects: | |
Citations: | Items that this one cites Items that cite this one |
Online Access: | Get full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Summary: | In order to automatically infer the resource consumption of programs, analyzers track how
data sizes
change along program’s execution. Typically, analyzers measure the sizes of data by applying
norms
which are mappings from data to natural numbers that represent the sizes of the corresponding data. When norms are defined by taking type information into account, they are named
typed-norms
. This article presents a transformational approach to resource analysis with typed-norms that are inferred by a data-flow analysis. The analysis is based on a transformation of the program into an
intermediate abstract program
in which each variable is abstracted with respect to all considered norms which are valid for its type. We also present the data-flow analysis to automatically infer the required, useful, typed-norms from programs. Our analysis is formalized on a simple rule-based representation to which programs written in different programming paradigms (e.g., functional, logic, and imperative) can be automatically translated. Experimental results on standard benchmarks used by other type-based analyzers show that our approach is both efficient and accurate in practice. |
---|---|
ISSN: | 1471-0684 1475-3081 |
DOI: | 10.1017/S1471068419000401 |