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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Ganssle, J.: Really Real-Time Systems. In: Proc. Embedded Systems Conference San Fransisco 2001 (2001)
Ive, A.: Runtime Performance Evaluation of Embedded Software. In: 8th Nordic Workshop on Programming Enviroment Research (1998)
Stewart, D.B.: Measuring Execution Time and Real-Time Performance. In: Proc. of the Embedded Systems Conference (ESCSF 2002) (2002)
AbsInt: AbsInt company homepage (2005), http://www.absint.com
Bound-T tool homepage (2006), http://www.tidorum.fi/bound-t/
Enea: Enea Embedded Technology homepage (2005), http://www.enea.com
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)
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)
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)
Gustafsson, J.: Analyzing Execution-Time of Object-Oriented Programs Using Abstract Interpretation. PhD thesis, Dept.of Information Technology, Uppsala University (2000)
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)
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)
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)
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)
Healy, C., Arnold, R., Müller, F., Whalley, D., Harmon, M.: Bounding Pipeline and Instruction Cache Performance. IEEE Transactions on Computers 48 (1999)
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
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)
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)
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)
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)
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)
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)
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)
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)
Sandberg, C.: Inspection of Industrial Code for Syntactical Loop Analysis. In: Proc. 3rd International Workshop on Worst-Case Execution Time Analysis (WCET 2003) (2003)
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)
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)
Lisper, B.: Personal communication with C. Ferdinand at AbsInt (2004)
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)
Sandell, D.: Evaluating Static Worst Case Execution Time Analysis for a Commercial Real-Time Operating System. Master’s thesis, Mlardalen University, Vsters, Sweden (2004)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)