Towards Execution Time Estimation for Logic Programs via Static Analysis and Profiling
<|reference_start|>Towards Execution Time Estimation for Logic Programs via Static Analysis and Profiling: Effective static analyses have been proposed which infer bounds on the number of resolutions or reductions. These have the advantage of being independent from the platform on which the programs are executed and have been shown to be useful in a number of applications, such as granularity control in parallel execution. On the other hand, in distributed computation scenarios where platforms with different capabilities come into play, it is necessary to express costs in metrics that include the characteristics of the platform. In particular, it is specially interesting to be able to infer upper and lower bounds on actual execution times. With this objective in mind, we propose an approach which combines compile-time analysis for cost bounds with a one-time profiling of the platform in order to determine the values of certain parameters for a given platform. These parameters calibrate a cost model which, from then on, is able to compute statically time bound functions for procedures and to predict with a significant degree of accuracy the execution times of such procedures in the given platform. The approach has been implemented and integrated in the CiaoPP system.<|reference_end|>
@article{mera2007towards,
    title={Towards Execution Time Estimation for Logic Programs via Static Analysis
  and Profiling},
    author={Edison Mera, Pedro Lopez-Garcia, German Puebla, Manuel Carro, Manuel
  Hermenegildo},
    journal={arXiv preprint arXiv:cs/0701108},
    year={2007},
    archivePrefix={arXiv},
    eprint={cs/0701108},
    primaryClass={cs.PL}
}