Skip to main content

Static Timing Analysis of Real-Time Operating System Code

  • Conference paper
Leveraging Applications of Formal Methods (ISoLA 2004)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4313))

  • 474 Accesses

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.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Ganssle, J.: Really Real-Time Systems. In: Proc. Embedded Systems Conference San Fransisco 2001 (2001)

    Google Scholar 

  2. Ive, A.: Runtime Performance Evaluation of Embedded Software. In: 8th Nordic Workshop on Programming Enviroment Research (1998)

    Google Scholar 

  3. Stewart, D.B.: Measuring Execution Time and Real-Time Performance. In: Proc. of the Embedded Systems Conference (ESCSF 2002) (2002)

    Google Scholar 

  4. AbsInt: AbsInt company homepage (2005), http://www.absint.com

  5. Bound-T tool homepage (2006), http://www.tidorum.fi/bound-t/

  6. Enea: Enea Embedded Technology homepage (2005), http://www.enea.com

  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. 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. 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. Gustafsson, J.: Analyzing Execution-Time of Object-Oriented Programs Using Abstract Interpretation. PhD thesis, Dept.of Information Technology, Uppsala University (2000)

    Google Scholar 

  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. 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. 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. 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. 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. 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-0

    Google Scholar 

  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. 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. 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. 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)

    Chapter  Google Scholar 

  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. 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. 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. 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. 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. 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. 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. Lisper, B.: Personal communication with C. Ferdinand at AbsInt (2004)

    Google Scholar 

  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. 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. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sandell, D., Ermedahl, A., Gustafsson, J., Lisper, B. (2006). Static Timing Analysis of Real-Time Operating System Code. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods. ISoLA 2004. Lecture Notes in Computer Science, vol 4313. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11925040_10

Download citation

  • DOI: https://doi.org/10.1007/11925040_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-48928-3

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics