Automatic accurate time-bound analysis for high-level languages

  • Yanhong A. Liu
  • Gustavo Gomez
Refereed Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1474)

Abstract

This paper describes a general approach for automatic and accurate time-bound analysis. The approach consists of transformations for building time-bound functions in the presence of partially known input structures, symbolic evaluation of the time-bound function based on input parameters, optimizations to make the overall analysis efficient as well as accurate, and measurements of primitive parameters, all at the source-language level. We have implemented this approach and performed a number of experiments for analyzing Scheme programs. The measured worst-case times are closely bounded by the calculated bounds.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    P. Altenbernd. On the false path problem in hard real-time programs. In Proceedings of the 8th EuroMicro Workshop on Real-Time Systems, pages 102–107, L’Aquila, June 1996.Google Scholar
  2. 2.
    B. BjØrner, A. P. Ershov, and N. D. Jones, editors. Partial Evaluation and Mixed Computation. North-Holland, Amsterdam, 1988.Google Scholar
  3. 3.
    Cadence Research Systems. Chez Scheme System Manual. Cadence Research Systems, Bloomington, Indiana, revision 2.4 edition, July 1994.Google Scholar
  4. 4.
    D. R. Chase, M. Wegman, and F. K. Zadeck. Analysis of pointers and structures. In Proceedings of the ACM SIGPLAN ’90 Conference on Programming Language Design and Implementation, pages 296–310. ACM, New York, June 1990.Google Scholar
  5. 5.
    J. Engblom, P. Altenbernd, and A. Ermedahl. Facilitating worst-case execution time analysis for optimized code. In Proceedings of the 10th EuroMicro Workshop on Real-Time Systems, Berlin, Germany, June 1998.Google Scholar
  6. 6.
    A. Ermedahl and J. Gustafsson. Deriving annotations for tight calculation of execution time. In In Proceedings of Euro-Par’97, volume 1300 of Lecture Notes in Computer Science, pages 1298–1307. Springer-Verlag, Berlin, Aug. 1997.Google Scholar
  7. 7.
    C. Ferdinand, F. Martin, and R. Wilhelm. Applying compiler techniques to cache behavior prediction. In Proceedings of the ACM SIGPLAN 1997 Workshop on Languages, Compilers, and Tools for Real-Time Systems, pages 37–46, 1997.Google Scholar
  8. 8.
    P. Flajolet, B. Salvy, and P. Zimmermann. Automatic average-case analysis of algorithms. Theoretical Computer Science, Series A, 79(1):37–109, Feb. 1991.MATHMathSciNetCrossRefGoogle Scholar
  9. 9.
    C. Healy, M. Sjödin, V. Rustagi, and D. Whalley. Bounding loop iterations for timing analysis. In Proceedings of the IEEE Real-Time Applications Symposium. IEEE CS Press, Los Alamitos, Calif., June 1998.Google Scholar
  10. 10.
    N. D. Jones, C. K. Gomard, and P. Sestoft. Partial Evaluation and Automatic Program Generation. Prentice-Hall, Englewood Cliffs, N.J., 1993.Google Scholar
  11. 11.
    D. E. Knuth. The Art of Computer Programming, volume 1. Addison-Wesley, Reading, Mass., 1968.Google Scholar
  12. 12.
    D. Le Métayer. Ace: An automatic complexity evaluator. ACM Trans. Program. Lang. Syst., 10(2):248–266, Apr. 1988.CrossRefGoogle Scholar
  13. 13.
    S.-S. Lim, Y. H. Bae, G. T. Jang, B.-D. Rhee, S. L. Min, C. Y. Park, H. Shin, K. Park, S.-M. Moon, and C.-S. Kim. An accurate worst case timing analysis for RISC processors. IEEE Trans. Softw. Eng., 21(7):593–604, July 1995.CrossRefGoogle Scholar
  14. 14.
    Y. A. Liu and G. Gomezes. Automatic accurate time-bound analysis for high-level languages. Technical Report TR 508, Computer Science Department, Indiana University, Bloomington, Indiana, Apr. 1998.Google Scholar
  15. 15.
    Y. A. Liu, S. D. Stoller, and T. Teitelbaum. Static caching for incremental computation. ACM Trans. Program. Lang. Syst., 20(3), May 1998.Google Scholar
  16. 16.
    Y. A. Liu and T. Teitelbaum. Systematic derivation of incremental programs. Sci. Comput. Program., 24(1):1–39, Feb. 1995.MATHCrossRefGoogle Scholar
  17. 17.
    T. Lundqvist and P. Stenström. Integrating path and timing analysis using instruction-level simulation techniques. Technical Report No. 98-3, Department of Computer Engineering, Chalmers University of Technology, Göteborg, Sweden, 1998.Google Scholar
  18. 18.
    C. Y. Park. Predicting program execution times by analyzing static and dynamic program paths. Real-Time Systems, 5:31–62, 1993.CrossRefGoogle Scholar
  19. 19.
    C. Y. Park and A. C. Shaw. Experiments with a program timing tool based on source-level timing schema. IEEE Computer, 24(5):48–57, 1991.Google Scholar
  20. 20.
    M. Rosendahl. Automatic complexity analysis. In Proceedings of the 4th International Conference on Functional Programming Languages and Computer Architecture, pages 144–156. ACM, New York, Sept. 1989.Google Scholar
  21. 21.
    R. H. Saavedra and A. J. Smith. Analysis of benchmark characterization and benchmark performance prediction. ACM Transactions on Computer Systems, 14(4):344–384, Nov. 1996.CrossRefGoogle Scholar
  22. 22.
    D. Sands. Complexity analysis for a lazy higher-order language. In Proceedings of the 3rd European Symposium on Programming, volume 432 of Lecture Notes in Computer Science, pages 361–376. Springer-Verlag, Berlin, May 1990.Google Scholar
  23. 23.
    A. Shaw. Reasoning about time in higher level language software. IEEE Trans. Softw. Eng., 15(7):875–889, July 1989.CrossRefGoogle Scholar
  24. 24.
    P. Wadler. Strictness analysis aids time analysis. In Conference Record of the 15th Annual ACM Symposium on Principles of Programming Languages. ACM, New York, Jan. 1988.Google Scholar
  25. 25.
    B. Wegbreit. Mechanical program analysis. Commun. ACM, 18(9):528–538, Sept. 1975.MATHMathSciNetCrossRefGoogle Scholar
  26. 26.
    D. Weise, R. F. Crew, M. Ernst, and B. Steensgaard. Value dependence graphs: Representation without taxation. In Conference Record of the 21st Annual ACM Symposium on Principles of Programming Languages. ACM, New York, Jan. 1994.Google Scholar

Copyright information

© Springer-Verlag 1998

Authors and Affiliations

  • Yanhong A. Liu
    • 1
  • Gustavo Gomez
    • 1
  1. 1.Computer Science DepartmentIndiana UniversityBloomington

Personalised recommendations