Advertisement

Reliable and Precise WCET Determination for a Real-Life Processor

  • Christian Ferdinand
  • Reinhold Heckmann
  • Marc Langenbach
  • Florian Martin
  • Michael Schmidt
  • Henrik Theiling
  • Stephan Thesing
  • Reinhard Wilhelm
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2211)

Abstract

The USES-groupat the Universität des Saarlandes follows an approach to compute reliable run-time guarantees which is both wellbased on theoretical foundations and practical from a software engineering and an efficiency point of view. Several aspects are essential to the USES approach: the resulting system is modular by structuring the task into a sequence of subtasks, which are tackled with appropriate methods. Generic and generative methods are used whenever possible. These principles lead to an understandable, maintainable, efficient, and provably correct system. This paper gives an overview of the methods used in the USES approach to WCET determination. A fully functional prototype system for the Motorola ColdFire MCF 5307 processor is presented, the implications of processor design on the predictability of behavior described, and experiences with analyzing applications running on this processor reported.

Keywords

Memory Reference Pipeline Analysis Abstract Interpretation Memory Block Abstract Domain 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [aiS]
    http://www.aisee.com. aiSee Home Page.
  2. [ASU86]
    A. V. Aho, R. Sethi, and J.D. Ullman. Compilers: Principles, Techniques, and Tools. Addison Wesley, 1986.Google Scholar
  3. [CC77]
    Patrick Cousot and Radhia Cousot. 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, 1977.Google Scholar
  4. [Col97]
    Motorola. Coldfire Microprocessor Family Programmer’s Reference Manual, 1997.Google Scholar
  5. [Fer97]
    Christian Ferdinand. Cache Behavior Prediction for Real-Time Systems. PhD Thesis, Universität des Saarlandes, 1997.Google Scholar
  6. [FMW97]
    Christian Ferdinand, Florian Martin, and Reinhard Wilhelm. Applying Compiler Techniques to Cache Behavior Prediction. In Proceedings of the ACM SIGPLAN Workshop on Language, Compiler and Tool Support for Real-Time Systems, 1997.Google Scholar
  7. [FMWA98]
    Christian Ferdinand, Florian Martin, Reinhard Wilhelm, and Martin Alt. Cache Behavior Prediction by Abstract Interpretation. Science of Computer Programming, Elsevier, 1998.Google Scholar
  8. [Lan98]
    Marc Langenbach. CRL-A Uniform Representation for Control Flow. Technical report, Universität d. Saarlandes, 1998.Google Scholar
  9. [Mar98]
    Florian Martin. PAG—an efficient program analyzer generator. International Journal on Software Tools for Technology Transfer, 2(1), 1998.Google Scholar
  10. [Mar99]
    Florian Martin. Generation of Program Analyzers. PhD thesis, Universit ät d. Saarlandes, 1999.Google Scholar
  11. [MAWF98]
    Florian Martin, Martin Alt, Reinhard Wilhelm, and Christian Ferdinand. Analysis of Loops. In Kai Koskimies, editor, Proceedings of the 7th International Conference on Compiler Construction, volume 1383 of Lecture Notes in Computer Science. Springer-Verlag, 1998.CrossRefGoogle Scholar
  12. [NNH99]
    Flemming Nielson, Hanne Riis Nielson, and Chris Hankin. Principles of Program Analysis. Springer-Verlag, 1999.Google Scholar
  13. [PK95]
    P. Puschner and C. Koza. Computing Maximum Task Execution Times with Linear Programming Techniques. Technical Report, Technische Universität Wien, Institut für Technische Informatik, Vienna, 1995.Google Scholar
  14. [PS91]
    Chang Yun Park and Alan C. Shaw. Experiments with a Program Timing Tool Based on Source-Level Timing Schema. IEEE Computer, 24(5), 1991.Google Scholar
  15. [SF99]
    Jörn Schneider and Christian Ferdinand. Pipeline Behavior Prediction for Superscalar Processors. Technical Report A/02/99, Universität des Saarlandes, 1999.Google Scholar
  16. [Sic97]
    Martin Sicks. Adreßbestimmung zur Vorhersage des Verhaltens von Daten-Caches. Diploma Thesis, Universität d. Saarlandes, 1997.Google Scholar
  17. [The00]
    Henrik Theiling. Extracting Safe and Precise Control Flow from Binaries. In Proceedings of the 7th Conference on Real-Time Computing Systems and Applications, Cheju-do, South Korea, December 2000.Google Scholar
  18. [The01]
    Henrik Theiling. Generating Decision Trees for Decoding Binaries. In Proceedings of the ACM SIGPLAN Workshop on Language, Compiler and Tools for Embedded Systems, Snowbird, Utah, USA, June 2001.Google Scholar
  19. [WM95]
    Reinhard Wilhelm and Dieter Maurer. Compiler Design. International Computer Science Series. Addison-Wesley, 1995. Second Printing.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Christian Ferdinand
    • 1
  • Reinhold Heckmann
    • 1
  • Marc Langenbach
    • 2
  • Florian Martin
    • 2
  • Michael Schmidt
    • 2
  • Henrik Theiling
    • 2
  • Stephan Thesing
    • 2
  • Reinhard Wilhelm
    • 2
  1. 1.AbsInt Angewandte Informatik GmbHSaarbrücken
  2. 2.Fachrichtung InformatikUniversität des SaarlandesSaarbrücken

Personalised recommendations