Skip to main content

Abstract

The worst-case execution time analyzer aiT originally developed by Saarland University and AbsInt GmbH computes safe and precise upper bounds for the WCETs of tasks. It relies on a pipeline model that usually has been handcrafted. We present some new approaches aiming at automatically obtaining a pipeline model as required by aiT from a formal processor description in VHDL or Verilog. The derivation of the total WCET from the basic-block WCETs requires knowledge about upper bounds on the number of loop iterations. We present a new method for loop bound detection using dataflow analysis to derive loop invariants. A task may contain infeasible paths caused by conditionals with logically related conditions. We present a static analysis that identifies and collects conditions from the executable, and relates these collections to detect infeasible paths. This new analysis uses the results of a novel generic slicer on the level of binary code.

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. Stankovic, J.A.: Real-Time and Embedded Systems. In: ACM 50th Anniversary Report on Real-Time Computing Research (1996), http://www-ccs.cs.umass.edu/sdcr/rt.ps.

  2. Wilhelm, R.: Determining bounds on execution times. In: Zurawski, R. (ed.) Handbook on Embedded Systems, pp. 14-1–14-23. CRC Press, Boca Raton (2005)

    Google Scholar 

  3. Cousot, P., Cousot, R.: Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In: Proceedings of the 4th ACM Symposium on Principles of Programming Languages, Los Angeles, California (1977)

    Google Scholar 

  4. Wilhelm, R., et al.: The worst-case execution time problem - overview of methods and survey of tools. Under revision for ACM Transactions on Embedded Computing Systems (2007)

    Google Scholar 

  5. Theiling, H.: Extracting safe and precise control flow from binaries. In: Proceedings of the 7th Conference on Real-Time Computing Systems and Applications, Cheju Island, South Korea (2000)

    Google Scholar 

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

    Google Scholar 

  7. Heckmann, R., et al.: The influence of processor architecture on the design and the results of WCET tools. Proceedings of the IEEE (Special Issue on Real-Time Systems) 91(7), 1038–1054 (2003)

    Article  Google Scholar 

  8. 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, pp. 144–153 (1998)

    Google Scholar 

  9. AbsInt Angewandte Informatik GmbH: aiSee Home Page (2006), http://www.aisee.com

  10. Sicks, M.: Adreßbestimmung zur Vorhersage des Verhaltens von Daten-Caches. Diploma Thesis, Universität d. Saarlandes (1997)

    Google Scholar 

  11. Cullmann, C.: Statische Berechnung sicherer Schleifengrenzen auf Maschinencode. Diploma Thesis, Universität d. Saarlandes (2006)

    Google Scholar 

  12. Pugh, W.: The Omega Test: A Fast and Practical Integer Programming Algorithm for Dependence Analysis. In: Proceedings of the 4th International Conference on Supercomputing (1991)

    Google Scholar 

  13. Horwitz, S., Reps, T., Binkley, D.: Interprocedural slicing using dependence graphs. In: Proceedings of the ACM SIGPLAN ’88 Conference on Programming Language Design and Implementation, vol. 23, Atlanta, GA, pp. 35–46 (1988)

    Google Scholar 

  14. Weiser, M.: Program Slicing. IEEE Transactions on Software Engineering 10(4), 352–357 (1984)

    Article  Google Scholar 

  15. Weiser, M.: Program Slices: Formal, Psychological, and Practical Investigations of an Automatic Program Abstraction Method. PhD thesis, The University of Michigan (1979)

    Google Scholar 

  16. Weiser, M.: Programmers Use Slicing When Debugging. Communications of the ACM 25(7), 446–452 (1982)

    Article  Google Scholar 

  17. Ottenstein, K.J., Ottenstein, L.: The program dependence graph in a software development environment. ACM SIGPLAN Notices 19(5), 177–184 (1984)

    Article  Google Scholar 

  18. Schlickling, M.: Generisches Slicing auf Maschinencode. Diploma Thesis, Universität des Saarlandes (2005)

    Google Scholar 

  19. Ferdinand, C., et al.: Run-Time Guarantees for Real-Time Systems — The USES Approach. In: Proceedings of Informatik ’99 – Arbeitstagung Programmiersprachen (1999)

    Google Scholar 

  20. Ferdinand, C., et al.: Run-Time Guarantees for Real-Time Systems - The USES Approach. In: Proceedings of the ATPS (1999)

    Google Scholar 

  21. Theiling, H., et al.: Specification of the Standard for a File Format used for Exchanging Results of Different Parts of a Run-Time Analysis (ERD). Technischer Bericht, Universität des Saarlandes, AbsInt Angewandte Informatik GmbH (2003)

    Google Scholar 

  22. Sandberg, C., et al.: Faster WCET flow analysis by program slicing. In: ACM SIGPLAN Conference on Languages, Compilers and Tools for Embedded Systems (LCTES2006), Ottawa, Canada, ACM Press, New York (2006)

    Google Scholar 

  23. Thesing, S.: Safe and Precise WCET Determination by Abstract Interpretation of Pipeline Models. PhD thesis, Saarland University (2004)

    Google Scholar 

  24. Thesing, S.: Modeling a System Controller for Timing Analysis. In: Proceedings of the 6th ACM Conference on Embedded Software, EMSOFT’06 (to appear, 2006)

    Google Scholar 

  25. Institute of Electrical and Electronic Engineers New York: Draft IEEE Standard P1076 2000/D3 VHDL Language Reference Manual (2000)

    Google Scholar 

  26. Ashenden, P.J.: The Designer’s Guide to VHDL, 2nd edn. Morgan Kaufmann Publishers, Academic Press (2002)

    Google Scholar 

  27. Callahan, D., et al.: Interprocedural Constant Propagation. ACM SIGPLAN Notices (Proceedings of the ACM SIGPLAN ’86 Symposium on Compiler Construction, Palo Alto, USA) 21(7), 152–161 (1986)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Thomas Reps Mooly Sagiv Jörg Bauer

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer Berlin Heidelberg

About this chapter

Cite this chapter

Ferdinand, C. et al. (2007). New Developments in WCET Analysis. In: Reps, T., Sagiv, M., Bauer, J. (eds) Program Analysis and Compilation, Theory and Practice. Lecture Notes in Computer Science, vol 4444. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71322-7_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-71322-7_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-71315-9

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics