A general framework for static profiling of parametric resource usage
From MaRDI portal
Publication:4593063
Abstract: Traditional static resource analyses estimate the total resource usage of a program, without executing it. In this paper we present a novel resource analysis whose aim is instead the static profiling of accumulated cost, i.e., to discover, for selected parts of the program, an estimate or bound of the resource usage accumulated in each of those parts. Traditional resource analyses are parametric in the sense that the results can be functions on input data sizes. Our static profiling is also parametric, i.e., our accumulated cost estimates are also parameterized by input data sizes. Our proposal is based on the concept of cost centers and a program transformation that allows the static inference of functions that return bounds on these accumulated costs depending on input data sizes, for each cost center of interest. Such information is much more useful to the software developer than the traditional resource usage functions, as it allows identifying the parts of a program that should be optimized, because of their greater impact on the total cost of program executions. We also report on our implementation of the proposed technique using the CiaoPP program analysis framework, and provide some experimental results. This paper is under consideration for acceptance in TPLP.
Recommendations
- A transformational approach to parametric accumulated-cost static profiling
- A general framework for static cost analysis of parallel logic programs
- Resource analysis of complex programs with cost equations
- Static determination of quantitative resource usage for higher-order programs
- Automatic Static Cost Analysis for Parallel Programs
Cites work
- scientific article; zbMATH DE number 2087550 (Why is no real title available?)
- A Flexible, (C)LP-Based Approach to the Analysis of Object-Oriented Programs
- A transformational approach to parametric accumulated-cost static profiling
- An overview of Ciao and its design philosophy
- Closed-form upper bounds in static cost analysis
- Compile-time derivation of variable dependency using abstract interpretation
- Cost recurrences for DML programs
- Implementation of Functional Languages
- Integrated program debugging, verification, and optimization using abstract interpretation (and the Ciao system preprocessor)
- Mechanical program analysis
- More precise yet widely applicable cost analysis
- Optimized algorithms for incremental analysis of logic programs
- Profiling large-scale lazy functional programs
- Resource usage analysis
- Resource usage analysis of logic programs via abstract interpretation using sized types
- SPEED: precise and efficient static estimation of program computational complexity
Cited in
(6)- A framework for verification and debugging of resource usage properties: resource usage verification
- Analysis and Transformation of Constrained Horn Clauses for Program Verification
- Last mile's resources
- A transformational approach to parametric accumulated-cost static profiling
- A general framework for static cost analysis of parallel logic programs
- scientific article; zbMATH DE number 7453190 (Why is no real title available?)
This page was built for publication: A general framework for static profiling of parametric resource usage
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q4593063)