Skip to main content

Combining Static Analysis and Profiling for Estimating Execution Times

  • Conference paper
Practical Aspects of Declarative Languages (PADL 2007)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4354))

Included in the following conference series:

  • 515 Accesses

Abstract

Effective static analyses have been proposed which infer bounds on the number of resolutions. 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 a given platform in order to determine the values of certain parameters for that 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 that concrete platform. The approach has been implemented and integrated in the CiaoPP system.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Brassel, B., Hanus, M., Huch, F., Silva, J., Vidal, G.: Run-time profiling of functional logic programs. In: Etalle, S. (ed.) LOPSTR 2004. LNCS, vol. 3573, pp. 182–197. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  2. Craig, S.J., Leuschel, M.: Self-tuning resource aware specialisation for Prolog. In: Proc. of PPDP 2005, pp. 23–34. ACM Press, New York (2005)

    Chapter  Google Scholar 

  3. Debray, S.K.: Profiling prolog programs. Software Practice and Experience 18(9), 821–839 (1983)

    Article  Google Scholar 

  4. Debray, S.K., Lin, N.W.: Cost analysis of logic programs. ACM Transactions on Programming Languages and Systems 15(5), 826–875 (1993)

    Article  Google Scholar 

  5. Debray, S.K., Lin, N.-W., Hermenegildo, M.: Task Granularity Analysis in Logic Programs. In: Proc. of the 1990 ACM Conf. on Programming Language Design and Implementation, pp. 174–188. ACM Press, New York (1990)

    Chapter  Google Scholar 

  6. Debray, S.K., López-García, P., Hermenegildo, M., Lin, N.-W.: Lower Bound Cost Estimation for Logic Programs. In: 1997 International Logic Programming Symposium, pp. 291–305. MIT Press, Cambridge (1997)

    Google Scholar 

  7. Ducassé, M.: Opium: An extendable trace analyzer for prolog. J. Log. Program. 39(1–3), 177–223 (1999)

    Article  MATH  Google Scholar 

  8. Hermenegildo, M., Albert, E., López-García, P., Puebla, G.: Abstraction Carrying Code and Resource-Awareness. In: Proc. of PPDP 2005, ACM Press, New York (2005)

    Google Scholar 

  9. Hermenegildo, M., et al.: Integrated Program Debugging, Verification, and Optimization Using Abstract Interpretation (and The Ciao System Preprocessor). Science of Computer Programming 58(1–2), 115–140 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  10. Householder, A.S.: Unitary Triangularization of a Nonsymmetric Matrix. Journal ACM 5(4), 339–342 (1958)

    Article  MATH  MathSciNet  Google Scholar 

  11. López-García, P.: Non-failure Analysis and Granularity Control in Parallel Execution of Logic Programs. PhD thesis, Universidad Politécnica de Madrid (UPM), Facultad Informatica UPM, 28660-Boadilla del Monte, Madrid-Spain (June 2000)

    Google Scholar 

  12. López-García, P., Hermenegildo, M., Debray, S.K.: A Methodology for Granularity Based Control of Parallelism in Logic Programs. J. of Symbolic Computation, Special Issue on Parallel Symbolic Computation 22, 715–734 (1996)

    Google Scholar 

  13. Jarvis, S.A., Morgan, R.G.: Profiling large-scale lazy functional programs. Journal of Functional Programing 8(3), 201–237 (1998)

    Article  MATH  Google Scholar 

  14. Sansom, P.M., Peyton Jones, S.L.: Formally based profiling for higher-order functional languages. ACM Transactions on Programming Languages and Systems 19(2), 334–385 (1997)

    Article  Google Scholar 

  15. Wackerly, D., Mendenhall, W., Scheaffer, R.: Mathematical Statistics With Applications. 5th edn. P.W.S. Publishers (1995)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Mera, E., López-García, P., Puebla, G., Carro, M., Hermenegildo, M.V. (2006). Combining Static Analysis and Profiling for Estimating Execution Times. In: Hanus, M. (eds) Practical Aspects of Declarative Languages. PADL 2007. Lecture Notes in Computer Science, vol 4354. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69611-7_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-69611-7_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-69608-7

  • Online ISBN: 978-3-540-69611-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics