Skip to main content

Why AI + ILP Is Good for WCET, but MC Is Not, Nor ILP Alone

  • Conference paper
Verification, Model Checking, and Abstract Interpretation (VMCAI 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2937))

Abstract

A combination of Abstract Interpretation (AI) with Integer Linear Programming (ILP) has been successfully used to determine precise upper bounds on the execution times of real-time programs, commonly called worst-case execution times (WCET). The task solved by abstract interpretation is to verify as many local safety properties as possible, safety properties who correspond to the absence of “timing accidents”. Timing accidents, e.g. cache misses, are reasons for the increase of the execution time of an individual instruction in an execution state. This article attempts to give the answer to the frequently encountered claim, “one could have done it by Model Checking (MC)!”. It shows that it is the characteristic property of abstract interpretation, which proves AI to be applicable and successful, namely that it only needs one fixpoint iteration to compute invariants that allow the derivation of many safety properties. MC seems to encounter an exponential state-space explosion when faced with the same problem. ILP alone has also been used to model a processor architecture and a program whose upper bounds for execution times was to be determined. It is argued why the only ILP-only approach found in the literature has not led to success.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alt, M., Ferdinand, C., Martin, F., Wilhelm, R.: Cache Behavior Prediction by Abstract Interpretation. In: Cousot, R., Schmidt, D.A. (eds.) SAS 1996. LNCS, vol. 1145, pp. 52–66. Springer, Heidelberg (1996)

    Google Scholar 

  2. Basin, D., Friedrich, S., Gawkowski, M., Posegga, J.: Bytecode model checking: An experimental analysis. In: Bošnački, D., Leue, S. (eds.) SPIN 2002. LNCS, vol. 2318, pp. 42–59. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  3. Cousot, P.: Automatic verification by abstract interpretation, invited talk. International Symposium in Honor of Zohar Manna, Taormina, Sicily, Italy, Tuesday, July 1 (2003)

    Google Scholar 

  4. Ermedahl, A.: A Modular Tool Architecture for Worst-Case Execution Time Analysis. PhD thesis, Uppsala University (2003)

    Google Scholar 

  5. Ferdinand, C., Heckmann, R., Langenbach, M., Martin, F., Schmidt, M., Theiling, H., Thesing, S., Wilhelm, R.: Reliable and precise WCET determination for a real-life processor. In: Henzinger, T.A., Kirsch, C.M. (eds.) EMSOFT 2001. LNCS, vol. 2211, pp. 469–485. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  6. Ferdinand, C., Martin, F., Wilhelm, R.: Cache Behavior Prediction by Abstract Interpretation. Science of Computer Programming 35, 163–189 (1999)

    Article  MATH  Google Scholar 

  7. Ferdinand, C.: Cache Behavior Prediction for Real-Time Systems. PhD Thesis, Universität des Saarlandes (September 1997)

    Google Scholar 

  8. Healy, C.A., Whalley, D.B., Harmon, M.G.: Integrating the Timing Analysis of Pipelining and Instruction Caching. In: Proceedings of the IEEE Real-Time Systems Symposium, December 1995, pp. 288–297 (1995)

    Google Scholar 

  9. Heckmann, R., Langenbach, M., Thesing, S., Wilhelm, R.: The influence of processor architecture on the design and the results of WCET tools. IEEE Proceedings on Real-Time Systems 91(7), 1038–1054 (2003)

    Google Scholar 

  10. Langenbach, M., Thesing, S., Heckmann, R.: Pipeline modelling for timing analysis. In: Hermenegildo, M.V., Puebla, G. (eds.) SAS 2002. LNCS, vol. 2477, p. 294. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  11. Li, Y.-T.S., Malik, S.: Performance Analysis of Embedded Software Using Implicit Path Enumeration. In: Proceedings of the 32nd ACM/IEEE Design Automation Conference, June 1995, pp. 456–461 (1995)

    Google Scholar 

  12. Li, Y.-T.S., Malik, S., Wolfe, A.: Efficient Microarchitecture Modeling and Path Analysis for Real-Time Software. In: Proceedings of the IEEE Real-Time Systems Symposium, December 1995, pp. 298–307 (1995)

    Google Scholar 

  13. Li, Y.-T.S., Malik, S., Wolfe, A.: Performance Estimation of Embedded Software with Instruction Cache Modeling. In: Proceedings of the IEEE/ACM International Conference on Computer-Aided Design, November 1995, pp. 380–387 (1995)

    Google Scholar 

  14. Li, Y.-T.S., Malik, S., Wolfe, A.: Cache Modeling for Real- Time Software: Beyond Direct Mapped Instruction Caches. In: Proceedings of the IEEE Real-Time Systems Symposium (December 1996)

    Google Scholar 

  15. Martin, F., Alt, M., Wilhelm, R., Ferdinand, C.: Analysis of Loops. In: Koskimies, K. (ed.) CC 1998. LNCS, vol. 1383, pp. 80–94. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  16. Nielson, F., Nielson, H.R., Hankin, C.: Principles of Program Analysis. Springer, Heidelberg (1999)

    MATH  Google Scholar 

  17. Park, C.Y., Shaw, A.C.: Experiments with a Program Timing Tool Based on Source-Level Timing Schema. IEEE Computer 24(5), 48–57 (1991)

    Google Scholar 

  18. Puschner, P., Koza, C.: Calculating the Maximum Execution Time of Real- Time Programs. Real-Time Systems 1, 159–176 (1989)

    Article  Google Scholar 

  19. Rosskopf, A.: Vergleich der Performance von zwei Plattformen für Ada- Applikationen: PowerPC/ObjectAda gegenüber MC68020/XDAda. Talk at Ada Deutschland (March 2001)

    Google Scholar 

  20. Schneider, J., Ferdinand, C.: Pipeline Behaviour Prediction for Superscalar Processors by Abstract Interpretation. In: Proceedings of the ACM SIGPLAN Workshop on Languages, Compilers and Tools for Embedded Systems, Atlanta (June 1999)

    Google Scholar 

  21. Theiling, H., Ferdinand, C.: Combining Abstract Interpretation and ILP for Microarchitecture Modelling and Program Path Analysis. In: Proceedings of the 19th IEEE Real-Time Systems Symposium, Madrid, Spain, December 1998, pp. 144–153 (1998)

    Google Scholar 

  22. Theiling, H., Ferdinand, C., Wilhelm, R.: Fast and precise WCET prediction by separated cache and path analyses. Real-Time Systems 18(2/3), 157–179 (2000)

    Article  Google Scholar 

  23. Theiling, H.: Control Flow Graphs for Real-Time System Analysis. PhD thesis, Universität des Saarlandes (2002)

    Google Scholar 

  24. Thesing, S., Souyris, J., Heckmann, R., Randimbivololona, F., Langenbach, M., Wilhelm, R., Ferdinand, C.: An abstract interpretation-based timing validation of hard real-time avionics software systems. In: Proceedings of the 2003 International Conference on Dependable Systems and Networks (DSN 2003), June 2003, pp. 625–632. IEEE Computer Society, Los Alamitos (2003)

    Chapter  Google Scholar 

  25. Thesing, S.: Safe and Precise WCET Determination by Abstract Interpretation of Pipeline Models. PhD thesis, Universität des Saarlandes (forthcoming)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wilhelm, R. (2004). Why AI + ILP Is Good for WCET, but MC Is Not, Nor ILP Alone. In: Steffen, B., Levi, G. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2004. Lecture Notes in Computer Science, vol 2937. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24622-0_25

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24622-0_25

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-24622-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics