|
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
|
Saumya Debray , Pedro López-García , Manuel Hermenegildo , Nai-Wei Lin, Lower bound cost estimation for logic programs, Proceedings of the 1997 international symposium on Logic programming, p.291-305, November 1997, Port Washington, New York, United States
|
| |
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
|
Manuel V. Hermenegildo , Germán Puebla , Francisco Bueno , Pedro López-García, Integrated program debugging, verification, and optimization using abstract interpretation (and the Ciao system preprocessor), Science of Computer Programming, v.58 n.1-2, p.115-140, October 2005
[doi> 10.1016/j.scico.2005.02.006]
|
| |
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.
|
|