Improving the Precision of WCET Analysis by Input Constraints and Model-Derived Flow Constraints

  • Reinhard Wilhelm
  • Philipp Lucas
  • Oleg Parshin
  • Lili Tan
  • Björn Wachter
Chapter

Abstract

Hard real-time embedded systems are subject to stringent timing constraints. The proof of their satisfaction requires upper bounds on the worst-case execution time (WCET) of tasks. This requires taking into account properties of the software, such as potential control flow, loop bounds and maximal recursion depths, as well as of the hardware, such as the state of caches or pipeline units. Therefore it is extremely hard to derive sound upper bounds by measurement-based approaches [30].

References

  1. 1.
    Byhlin S, Ermedahl A, Gustafsson J, Lisper B (2005) Applying static WCET analysis to automotive communication software. In: Proceedings of ECRTS, pp 249–258Google Scholar
  2. 2.
    Cousot P, Cousot R (1977) Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Proceedings of POPL, pp 238–252, DOI http://doi.acm.org/10.1145/512950.512973
  3. 3.
    Engblom J (2002) Processor pipelines and static worst-case execution time analysis. PhD thesis, Uppsala UniversityGoogle Scholar
  4. 4.
    Ermedahl A (2003) A modular tool architecture for worst-case execution time analysis. PhD thesis, Uppsala UniversityGoogle Scholar
  5. 5.
    Ermedahl A, Gustafsson J (1997) Deriving annotations for tight calculation of execution time. In: Proceedings of Euro-Par, pp 1298–1307Google Scholar
  6. 6.
    Ermedahl A, Fredriksson J, Gustafsson J, Altenbernd P (2009) Deriving the worst-case execution time input values. In: Proceedings of ECRTS, pp 45–54Google Scholar
  7. 7.
    Ferdinand C (1997) Cache behavior prediction for real-time systems. PhD Thesis, Universität des SaarlandesGoogle Scholar
  8. 8.
    Ferdinand C, Wilhelm R (1999) Efficient and precise cache behavior prediction for real-time systems. Real-Time Syst 17(2–3):131–181CrossRefGoogle Scholar
  9. 9.
    Ferdinand C, Heckmann R, Langenbach M, Martin F, Schmidt M, Theiling H, Thesing S, Wilhelm R (2001) Reliable and precise WCET determination for a real-life processor. In: Proceedings of EMSOFT, LNCS, vol 2211, pp 469–485Google Scholar
  10. 10.
    Ferdinand C, Heckmann R, Wolff HJ, Renz C, Parshin O, Wilhelm R (2006) Towards model-driven development of hard real-time systems. In: Proceedings of ASWSD, pp 145–160Google Scholar
  11. 11.
    Ferdinand C, Heckmann R, Sergent TL, Lopes D, Martin B, Fornari X, Martin F (2008) Combining a high-level design tool for safety-critical systems with a tool for WCET analysis on executables. In: Proceedings of ERTSGoogle Scholar
  12. 12.
    Fredriksson J, Nolte T, Ermedahl A, Nolin M (2007) Clustering worst-case execution times for software components. In: Proceedings of WCETGoogle Scholar
  13. 13.
    Gheorghita SV, Stuijk S, Basten T, Corporaal H (2005) Automatic scenario detection for improved WCET analysis. In: Proceedings of DAC, pp 101–104Google Scholar
  14. 14.
    Gupta N, Mathur AP, Sofia ML (1998) Automated test data generation using an iterative relaxation method. In: Proceedings of SIGSOFT, pp 231–244Google Scholar
  15. 15.
    Gustafsson J, Ermedahl A, Lisper B (2005) Towards a flow analysis for embedded System C programs. In: Proceedings of WORDS, pp 287–300Google Scholar
  16. 16.
    Healy C, Sjödin M, Rustagi V, Whalley D, van Engelen R (2000) Supporting timing analysis by automatic bounding of loop iterations. J Real-Time Syst Vol. 18 (2/3) 129–156CrossRefGoogle Scholar
  17. 17.
    Healy CA, Whalley DB, Harmon MG (1995) Integrating the Timing Analysis of Pipelining and Instruction Caching. In: Proceedings of RTSS, pp 288–297Google Scholar
  18. 18.
    Heckmann R, Langenbach M, Thesing S, Wilhelm R (2003) The influence of processor architecture on the design and the results of WCET tools. Proc RTS 91(7):1038–1054Google Scholar
  19. 19.
    Ji ML, Wang J, Li S, Qi ZC (2009) Automated worst-case execution time analysis based on program modes. Comp J 52(5):530–544, online 2007Google Scholar
  20. 20.
    Ju L, Huynh BK, Roychoudhury A, Chakraborty S (2008) Performance debugging of Esterel specifications. In: Proceedings of CODES/ISSS, pp 173–178Google Scholar
  21. 21.
    Kästner D, Wilhelm R, Heckmann R, Schlickling M, Pister M, Jersak M, Richter K, Ferdinand C (2008) Timing validation of automotive software. In: Proceedings of ISOLA, communications in computer and information science, vol 17, pp 93–107CrossRefGoogle Scholar
  22. 22.
    Kim JE, Kapoor R, Herrmann M, Härdtlein J, Grzeschniok F, Lutz P (2008) Software behavior description of real-time embedded systems in component based software development. In: Proceedings of ISORC, pp 307–311Google Scholar
  23. 23.
    Kim JE, Rogalla O, Kramer S, Hamann A (2009) Extracting, specifying and predicting software system properties in component based real-time embedded software development. In: Proceedings of ICSE, pp 28–38Google Scholar
  24. 24.
    Kirner R, Lang R, Freiberger G, Puschner P (2002) Fully automatic worst-case execution time analysis for Matlab/Simulink models. In: Proceedings of ECRTS, pp 31–40Google Scholar
  25. 25.
    Li YTS, Malik S (1995) Performance analysis of embedded software using implicit path enumeration. In: Proceedings of DAC, pp 456–461Google Scholar
  26. 26.
    Lucas P, Parshin O, Wilhelm R (2009) Operating mode specific WCET analysis. In: Proceedings of JRWRTC, pp 15–18Google Scholar
  27. 27.
    Mauborgne L, Rival X (2005) Trace partitioning in abstract interpretation based static analyzers. In: Proceedings of ESOP, LNCS, vol 3444, pp 5–20Google Scholar
  28. 28.
    Pedro PSM (1999) Schedulability of mode changes in flexible real-time distributed systems. PhD thesis, University of YorkGoogle Scholar
  29. 29.
    Ravi TV, Gowda KC (1999) Clustering of symbolic objects using gravitational approach. IEEE Trans Syst, Man Cybernetics B 29(6):888–894CrossRefGoogle Scholar
  30. 30.
    Reineke J (2008) Caches in WCET analysis. PhD thesis, Universität des SaarlandesGoogle Scholar
  31. 31.
    Sen R, Srikant YN (2007) Executable analysis using abstract interpretation with circular linear progressions. In: Proceedings of MEMOCODE, pp 39–48Google Scholar
  32. 32.
    Stein I, Martin F (2007) Analysis of path exclusion at the machine code level. In: Proceedings of WCETGoogle Scholar
  33. 33.
    Tan L (2009) The worst-case execution time tool challenge 2006. Int J Softw Tools Technol Transfer (STTT) 11(2):133–152CrossRefGoogle Scholar
  34. 34.
    Tan L, Wachter B, Lucas P, Wilhelm R (2009) Improving timing analysis for Matlab Simulink/Stateflow. In: Proceedings of ACES-MB, pp 59–63Google Scholar
  35. 35.
    Theiling H (2002a) Control flow graphs for real-time systems analysis. PhD thesis, Universität des SaarlandesGoogle Scholar
  36. 36.
    Theiling H (2002b) ILP-based interprocedural path analysis. In: Proceedings of EMSOFT, Springer, LNCS, vol 2491, pp 349–363Google Scholar
  37. 37.
    Theiling H, Ferdinand C, Wilhelm R (2000) Fast and precise WCET prediction by separated cache and path analyses. Real-Time Syst 18(2/3):157–179CrossRefGoogle Scholar
  38. 38.
    Thesing S (2004) Safe and precise WCET determination by abstract interpretation of pipeline models. PhD thesis, Universität des SaarlandesGoogle Scholar
  39. 39.
    Thesing S, Souyris J, Heckmann R, Randimbivololona F, Langenbach M, Wilhelm R, Ferdinand C (2003) An abstract interpretation-based timing validation of hard real-time avionics software systems. In: Proceedings of DSN, pp 625–632Google Scholar
  40. 40.
    Wilhelm R, Engblom J, Ermedahl A, Holsti N, Thesing S, Whalley D, Bernat G, Ferdinand C, Heckmann R, Mueller F, Puaut I, Puschner P, Staschulat J, Stenström P (2008) The determination of worst-case execution times – overview of methods and survey of tools. ACM Trans Embedded Comput Syst (TECS) 7(3) pp. 36:1–36:53Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Reinhard Wilhelm
    • 1
  • Philipp Lucas
    • 1
  • Oleg Parshin
    • 1
  • Lili Tan
    • 1
  • Björn Wachter
    • 1
  1. 1.Compiler Design LabUniversität des SaarlandesSaarbrückenGermany

Personalised recommendations