Citation
Mera, E. and López García, Pedro and Carro Liñares, Manuel and Hermenegildo, Manuel V.
(2008).
Towards execution time estimation in abstract machine-based languages.
In: "10th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming", 15-17 July, 2008, Valencia, Spain. ISBN 978-1-60558-117-0.
Abstract
Abstract machines provide a certain separation between platformdependent and platform-independent concerns in compilation. Many of the differences between architectures are encapsulated in the speciflc 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, programindependent proflling 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/veriflcation of time properties, certiflcation of time properties in mobile code, granularity control in parallel/distributed computing, and resource-oriented specialization.