ACM Home Page
Please provide us with feedback. Feedback
Towards execution time estimation in abstract machine-based languages
Full text PdfPdf (324 KB)
Source
International Conference on Principles and Practice of Declarative Programming archive
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming table of contents
Valencia, Spain
SESSION: Reasoning table of contents
Pages 174-184  
Year of Publication: 2008
ISBN:978-1-60558-117-0
Authors
E. Mera  Complutense University of Madrid
P. Lopez  IMDEA Software
M. Carro  Technical U. of Madrid
M. Hermenegildo  IMDEA Software, Technical U. of Madrid and U. of New Mexico
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 29,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1389449.1389471
What is a DOI?

ABSTRACT

Abstract machines provide a certain separation between platform-dependent and platform-independent concerns in compilation. Many of the differences between architectures are encapsulated in the specific abstract machine implementation and the bytecode is left largely architecture independent. Taking advantage of this fact, we present a framework for estimating upper and lower bounds on the execution times of logic programs running on a bytecode-based abstract machine. Our approach includes a one-time, program-independent profiling stage which calculates constants or functions bounding the execution time of each abstract machine instruction. Then, a compile-time cost estimation phase, using the instruction timing information, infers expressions giving platform-dependent upper and lower bounds on actual execution time as functions of input data sizes for each program. Working at the abstract machine level makes it possible to take into account low-level issues in new architectures and platforms by just reexecuting the calibration stage instead of having to tailor the analysis for each architecture and platform. Applications of such predicted execution times include debugging/verification of time properties, certification of time properties in mobile code, granularity control in parallel/distributed computing, and resource-oriented specialization


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
E. Albert, P. Arenas, S. Genaim, and G. Puebla. Automatic Inference of Upper Bounds for Recurrence Relations in Cost Analysis. In Proc. of Static Analysis Symposium (SAS), LNCS. Springer-Verlag, July 2008. To appear.
 
3
E. Albert, P. Arenas, S. Genaim, G. Puebla, and D. Zanardini. Cost analysis of java bytecode. In R. D. Nicola, editor, 16th European Symposium on Programming, ESOP'07, volume 4421 of Lecture Notes in Computer Science, pages 157--172. Springer, March 2007.
 
4
R. Bagnara, A. Pescetti, A. Zaccagnini, E. Zaffanella, and T. Zolo. Purrs: The Parma University's Recurrence Relation Solver. http://www.cs.unipr.it/purrs.
 
5
 
6
 
7
 
8
F. Bueno, P. López-García, and M. Hermenegildo. Multivariant Non-Failure Analysis via Standard Abstract Interpretation. In 7th International Symposium on Functional and Logic Programming (FLOPS 2004), number 2998 in LNCS, pages 100--116, Heidelberg, Germany, April 2004. Springer-Verlag.
 
9
S. Buettcher. Warren's Abstract Machine - A Java Implementation. http://www.stefan.buettcher.org/cs/wam/index.html.
10
11
12
 
13
 
14
 
15
A. Ermedahl, J. Gustafsson, and B. Lisper. Experiences from Industrial WCET Analysis Case Studies. In R. Wilhelm, editor, Proc. Fifth International Workshop on Worst-Case Execution Time (WCET) Analysis, Palma de Mallorca, July 2005.
16
 
17
 
18
E. Y.-S. Hu, A. J. Wellings, and G. Bernat. Deriving java virtual machine timing models for portable worst-case execution time analysis. In On The Move to Meaningful Internet Systems 2003: OTM 2003 Workshops, volume 2889 of LNCS, pages 411--424. Springer, October 2003.
 
19
E. Mera, P. López-García, G. Puebla, M. Carro, and M. Hermenegildo. Combining Static Analysis and Profiling for Estimating Execution Times. In Ninth International Symposium on Practical Aspects of Declarative Languages, number 4354 in LNCS, pages 140--154. Springer-Verlag, January 2007.
 
20
J. Navas, M. Méndez-Lojo, and M. Hermenegildo. Customizable Resource Usage Analysis for Java Bytecode. Technical report, University of New Mexico, Department of Computer Science, UNM, January 2008. Submitted for publication.
 
21
J. Navas, E. Mera, P. López-García, and M. Hermenegildo. User-Definable Resource Bounds Analysis for Logic Programs. In 23rd International Conference on Logic Programming (ICLP 2007), volume 4670 of LNCS, pages 348--363. Springer-Verlag, September 2007.
 
22
G. Román-Díez and G. Puebla. Java bytecode timing cost models. Technical Report CLIP12/2007.0, Technical University of Madrid, School of Computer Science, UPM, December 2007.
 
23
D. Warren. An Abstract Prolog Instruction Set. Technical Report 309, Artificial Intelligence Center, SRI International, 333 Ravenswood Ave, Menlo Park CA 94025, 1983.
 
24
R. Wilhelm. Timing analysis and timing predictability. In F. S. de Boer, M. M. Bonsangue, S. Graf, and W. P. de Roever, editors, Formal Methods for Components and Objects, Third International Symposium, FMCO 2004, Leiden, The Netherlands, November 2 - 5, 2004, Revised Lectures, volume 3657 of Lecture Notes in Computer Science, pages 317--323. Springer, 2004.

Collaborative Colleagues:
E. Mera: colleagues
P. Lopez: colleagues
M. Carro: colleagues
M. Hermenegildo: colleagues