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

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.
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
PublisherSpringer
Publication date2016
Pages163-180
ISBN (Print)978-3-319-29603-6
DOIs
Publication statusPublished - 2016
EventThirteenth International Symposium on Functional and Logic Programming - Kochi, Japan
Duration: 4 Mar 20166 Mar 2016
http://www.info.kochi-tech.ac.jp/FLOPS2016/

Conference

ConferenceThirteenth International Symposium on Functional and Logic Programming
CountryJapan
CityKochi
Period04/03/201606/03/2016
Internet address
SeriesLecture Notes in Computer Science
Volume9613
ISSN0302-9743

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

Keywords

  • static analysis
  • resource analysis

Cite this

Haemmerlé, R., López García, P., Liqat, U., Klemen, M., Gallagher, J. P., & Hermenegildo, M. (2016). A Transformational Approach to Parametric Accumulated-Cost Static Profiling. In O. Kiselyov, & A. King (Eds.), Functional and Logic Programming : 13th International Symposium, (FLOPS) 2016, Kochi, Japan, March 4-6, 2016 (pp. 163-180). Cham: Springer. Lecture Notes in Computer Science, Vol.. 9613 https://doi.org/10.1007/978-3-319-29604-3_11
Haemmerlé, Rémy ; López García, Pedro ; Liqat, Umer ; Klemen, Maximiliano ; Gallagher, John Patrick ; Hermenegildo, Manuel. / A Transformational Approach to Parametric Accumulated-Cost Static Profiling. Functional and Logic Programming : 13th International Symposium, (FLOPS) 2016, Kochi, Japan, March 4-6, 2016. editor / Oleg Kiselyov ; Andy King. Cham : Springer, 2016. pp. 163-180 (Lecture Notes in Computer Science, Vol. 9613).
@inproceedings{3f69b89c186845a894f3343472d871bf,
title = "A Transformational Approach to Parametric Accumulated-Cost Static Profiling",
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.",
keywords = "static analysis, resource analysis",
author = "R{\'e}my Haemmerl{\'e} and {L{\'o}pez Garc{\'i}a}, Pedro and Umer Liqat and Maximiliano Klemen and Gallagher, {John Patrick} and Manuel Hermenegildo",
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",
year = "2016",
doi = "10.1007/978-3-319-29604-3_11",
language = "English",
isbn = "978-3-319-29603-6",
pages = "163--180",
editor = "Oleg Kiselyov and Andy King",
booktitle = "Functional and Logic Programming",
publisher = "Springer",

}

Haemmerlé, R, López García, P, Liqat, U, Klemen, M, Gallagher, JP & Hermenegildo, M 2016, A Transformational Approach to Parametric Accumulated-Cost Static Profiling. in O Kiselyov & A King (eds), Functional and Logic Programming : 13th International Symposium, (FLOPS) 2016, Kochi, Japan, March 4-6, 2016. Springer, Cham, Lecture Notes in Computer Science, vol. 9613, pp. 163-180, Thirteenth International Symposium on Functional and Logic Programming, Kochi, Japan, 04/03/2016. https://doi.org/10.1007/978-3-319-29604-3_11

A Transformational Approach to Parametric Accumulated-Cost Static Profiling. / Haemmerlé, Rémy; López García, Pedro; Liqat, Umer; Klemen, Maximiliano; Gallagher, John Patrick; Hermenegildo, Manuel.

Functional and Logic Programming : 13th International Symposium, (FLOPS) 2016, Kochi, Japan, March 4-6, 2016. ed. / Oleg Kiselyov; Andy King. Cham : Springer, 2016. p. 163-180.

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

TY - GEN

T1 - A Transformational Approach to Parametric Accumulated-Cost Static Profiling

AU - Haemmerlé, Rémy

AU - López García, Pedro

AU - Liqat, Umer

AU - Klemen, Maximiliano

AU - Gallagher, John Patrick

AU - Hermenegildo, Manuel

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

PY - 2016

Y1 - 2016

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

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

KW - static analysis

KW - resource analysis

U2 - 10.1007/978-3-319-29604-3_11

DO - 10.1007/978-3-319-29604-3_11

M3 - Article in proceedings

SN - 978-3-319-29603-6

SP - 163

EP - 180

BT - Functional and Logic Programming

A2 - Kiselyov, Oleg

A2 - King, Andy

PB - Springer

CY - Cham

ER -

Haemmerlé R, López García P, Liqat U, Klemen M, Gallagher JP, Hermenegildo M. A Transformational Approach to Parametric Accumulated-Cost Static Profiling. In Kiselyov O, King A, editors, Functional and Logic Programming : 13th International Symposium, (FLOPS) 2016, Kochi, Japan, March 4-6, 2016. Cham: Springer. 2016. p. 163-180. (Lecture Notes in Computer Science, Vol. 9613). https://doi.org/10.1007/978-3-319-29604-3_11