A Transformational Approach to Parametric Accumulated-Cost Static Profiling

Rémy Haemmerlé, Pedro López García, Umer Liqat, Maximiliano Klemen, John Patrick Gallagher, Manuel Hermenegildo

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review


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.
Original languageEnglish
Title of host publicationFunctional and Logic Programming : 13th International Symposium, (FLOPS) 2016, Kochi, Japan, March 4-6, 2016
EditorsOleg Kiselyov, Andy King
Place of PublicationCham
Publication date2016
ISBN (Print)978-3-319-29603-6
Publication statusPublished - 2016
EventThirteenth International Symposium on Functional and Logic Programming - Kochi, Japan
Duration: 4 Mar 20166 Mar 2016


ConferenceThirteenth International Symposium on Functional and Logic Programming
Internet address
SeriesLecture Notes in Computer Science

Bibliographical note

The uploaded version is a post-peer-review, pre-copyedit version of an article published in Lecture Notes in Computer Science. The final authenticated version is available online at: http://dx.doi.org/10.1007/978-3-319-29604-3_11


  • static analysis
  • resource analysis

Cite this