Advertisement

Static Timing Analysis of Real-Time Operating System Code

  • Daniel Sandell
  • Andreas Ermedahl
  • Jan Gustafsson
  • Björn Lisper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4313)

Abstract

Methods for Worst-Case Execution Time (WCET) analysis have been known for some time, and recently commercial tools have emerged. However, the technique has so far not been much used to analyse real production codes. Here, we present a case study where static WCET analysis was used to find upper time bounds for time-critical regions in a commercial real-time operating system. The purpose was not primarily to test the accuracy of the estimates, but rather to investigate the practical difficulties that arise when applying the current WCET analysis methods to this particular kind of code. In particular, we were interested in how labor-intense the analysis becomes, measured by the number of annotations to explicitly constrain the program flow which is necessary to perform the analysis. We also make some qualitative observations regarding what a WCET analysis method would need in order to perform a both convenient and tight analysis of typical operating systems code. In a second set of experiments, we analyzed some standard WCET benchmark codes compiled with different levels of optimization. The purpose of this study was to see how the different compiler optimizations affected the precision of the analysis, and again whether it affected the level of user intervention necessary to obtain an accurate WCET estimate.

Keywords

Execution Time Clock Cycle Basic Block System Call Compiler Optimization 
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. 1.
    Ganssle, J.: Really Real-Time Systems. In: Proc. Embedded Systems Conference San Fransisco 2001 (2001)Google Scholar
  2. 2.
    Ive, A.: Runtime Performance Evaluation of Embedded Software. In: 8th Nordic Workshop on Programming Enviroment Research (1998)Google Scholar
  3. 3.
    Stewart, D.B.: Measuring Execution Time and Real-Time Performance. In: Proc. of the Embedded Systems Conference (ESCSF 2002) (2002)Google Scholar
  4. 4.
    AbsInt: AbsInt company homepage (2005), http://www.absint.com
  5. 5.
    Bound-T tool homepage (2006), http://www.tidorum.fi/bound-t/
  6. 6.
    Enea: Enea Embedded Technology homepage (2005), http://www.enea.com
  7. 7.
    Kirner, R., Puschner, P.: Transformation of Path Information for WCET Analysis during Compilation. In: Proc. 13th Euromicro Conference of Real-Time Systems (ECRTS 2001). IEEE Computer Society Press, Los Alamitos (2001)Google Scholar
  8. 8.
    Ermedahl, A.: A Modular Tool Architecture for Worst-Case Execution Time Analysis. PhD thesis, Uppsala University, Dept.of Information Technology, Box 325, Uppsala, Sweden (2003)Google Scholar
  9. 9.
    Ferdinand, C., Heckmann, R., Theiling, H.: Convenient User Annotations for a WCET Tool. In: Proc.3rd International Workshop on Worst-Case Execution Time Analysis (WCET 2003) (2003)Google Scholar
  10. 10.
    Gustafsson, J.: Analyzing Execution-Time of Object-Oriented Programs Using Abstract Interpretation. PhD thesis, Dept.of Information Technology, Uppsala University (2000)Google Scholar
  11. 11.
    Healy, C., Sjödin, M., Rustagi, V., Whalley, D.: Bounding Loop Iterations for Timing Analysis. In: Proc.4th IEEE Real-Time Technology and Applications Symposium (RTAS 1998) (1998)Google Scholar
  12. 12.
    Holsti, N., Långbacka, T., Saarinen, S.: Worst-Case Execution-Time Analysis for Digital Signal Processors. In: Proc. EUSIPCO 2000 Conference (X European Signal Processing Conference) (2000)Google Scholar
  13. 13.
    Heckmann, R., Langenbach, M., Thesing, S., Wilhelm, R.: The Influence of Processor Architecture on the Design and the Results of WCET Tools. In: IEEE Proceedings on Real-Time Systems (2003)Google Scholar
  14. 14.
    Engblom, J.: Analysis of the Execution Time Unpredictability caused by Dynamic Branch Prediction. In: Proc. 8th IEEE Real-Time/Embedded Technology and Applications Symposium (RTAS 2003) (2003)Google Scholar
  15. 15.
    Healy, C., Arnold, R., Müller, F., Whalley, D., Harmon, M.: Bounding Pipeline and Instruction Cache Performance. IEEE Transactions on Computers 48 (1999)Google Scholar
  16. 16.
    Engblom, J.: Processor Pipelines and Static Worst-Case Execution Time Analysis. PhD thesis, Uppsala University, Dept.of Information Technology, Box 337, Uppsala, Sweden (2002), ISBN 91-554-5228-0Google Scholar
  17. 17.
    Ferdinand, C., Martin, F., Wilhelm, R.: Applying Compiler Techniques to Cache Behavior Prediction. In: Proc. ACM SIGPLAN Workshop on Languages, Compilers and Tools for Real-Time Systems (LCT-RTS 1997) (1997)Google Scholar
  18. 18.
    Holsti, N., Långbacka, T., Saarinen, S.: Using a worst-case execution-time tool for real-time verification of the DEBIE software. In: Proc. DASIA 2000 Conference (Data Systems in Aerospace 2000, ESA SP-457) (2000)Google Scholar
  19. 19.
    Rodriguez, M., Silva, N., Esteves, J., Henriques, L., Costa, D., Holsti, N., Hjortnaes, K.: Challenges in Calculating the WCET of a Complex On-board Satellite Application. In: Proc.3rd International Workshop on Worst-Case Execution Time Analysis (WCET 2003) (2003)Google Scholar
  20. 20.
    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, p. 469. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  21. 21.
    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. In: Proc. of the IEEE International Conference on Dependable Systems and Networks (DSN-2003) (2003)Google Scholar
  22. 22.
    Ermedahl, A., Gustafsson, J., Lisper, B.: Experiences from Industrial WCET Analysis Case Studies. In: Proc. 5th International Workshop on Worst-Case Execution Time Analysis (WCET 2005), pp. 19–22 (2005)Google Scholar
  23. 23.
    Byhlin, S., Ermedahl, A., Gustafsson, J., Lisper, B.: Applying Static WCET Analysis to Automotive Communication Software. In: Proc. 17th Euromicro Conference of Real-Time Systems (ECRTS 2005), pp. 249–258 (2005)Google Scholar
  24. 24.
    Engblom, J.: Static Properties of Embedded Real-Time Programs, and Their Implications for Worst-Case Execution Time Analysis. In: Proc. 5th IEEE Real-Time Technology and Applications Symposium (RTAS 1999). IEEE Computer Society Press, Los Alamitos (1999)Google Scholar
  25. 25.
    Sandberg, C.: Inspection of Industrial Code for Syntactical Loop Analysis. In: Proc. 3rd International Workshop on Worst-Case Execution Time Analysis (WCET 2003) (2003)Google Scholar
  26. 26.
    Carlsson, M., Engblom, J., Ermedahl, A., Lindblad, J., Lisper, B.: Worst-case execution time analysis of disable interrupt regions in a commercial real-time operating system. In: Proc. 2nd International Workshop on Real-Time Tools (RT-TOOLS 2002) (2002)Google Scholar
  27. 27.
    Colin, A., Puaut, I.: Worst-Case Execution Time Analysis for the RTEMS Real-Time Operating System. In: Proc. 13th Euromicro Conference of Real-Time Systems (ECRTS 2001) (2001)Google Scholar
  28. 28.
    Lisper, B.: Personal communication with C. Ferdinand at AbsInt (2004)Google Scholar
  29. 29.
    Cousot, P., Cousot, R.: Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In: Proc. 4th ACM Symposium on Principles of Programming Languages, Los Angeles, pp. 238–252 (1977)Google Scholar
  30. 30.
    Sandell, D.: Evaluating Static Worst Case Execution Time Analysis for a Commercial Real-Time Operating System. Master’s thesis, Mlardalen University, Vsters, Sweden (2004)Google Scholar
  31. 31.
    Lisper, B.: Fully Automatic, Parametric Worst-Case Execution Time Analysis. In: Gustafsson, J. (ed.) Proc. 3rd International Workshop on Worst-Case Execution Time Analysis (WCET 2003), Porto, pp. 77–80 (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Daniel Sandell
    • 1
  • Andreas Ermedahl
    • 1
  • Jan Gustafsson
    • 1
  • Björn Lisper
    • 1
  1. 1.Dept. of Computer Science and ElectronicsMälardalen UniversityVästeråsSweden

Personalised recommendations