The Platin Multi-Target Worst-Case Analysis Tool

Authors Emad Jacob Maroun , Eva Dengler , Christian Dietrich, Stefan Hepp, Henriette Herzog , Benedikt Huber, Jens Knoop, Daniel Wiltsche-Prokesch, Peter Puschner , Phillip Raffeck , Martin Schoeberl , Simon Schuster, Peter Wägemann



PDF
Thumbnail PDF

File

OASIcs.WCET.2024.2.pdf
  • Filesize: 0.63 MB
  • 14 pages

Document Identifiers

Author Details

Emad Jacob Maroun
  • Technical University of Denmark, Lyngby, Denmark
Eva Dengler
  • Friedrich-Alexander-Universität, Erlangen-Nürnberg, Germany
Christian Dietrich
  • Technische Universität Braunschweig, Germany
Stefan Hepp
  • Technische Universität Wien, Austria
Henriette Herzog
  • Ruhr-Universität Bochum, Germany
Benedikt Huber
  • Technische Universität Wien, Austria
Jens Knoop
  • Technische Universität Wien, Austria
Daniel Wiltsche-Prokesch
  • Hitachi Rail, Wien, Austria
Peter Puschner
  • Technische Universität Wien, Austria
Phillip Raffeck
  • Friedrich-Alexander-Universität, Erlangen-Nürnberg, Germany
Martin Schoeberl
  • Technical University of Denmark, Lyngby, Denmark
Simon Schuster
  • Friedrich-Alexander-Universität, Erlangen-Nürnberg, Germany
Peter Wägemann
  • Friedrich-Alexander-Universität, Erlangen-Nürnberg, Germany

Cite AsGet BibTex

Emad Jacob Maroun, Eva Dengler, Christian Dietrich, Stefan Hepp, Henriette Herzog, Benedikt Huber, Jens Knoop, Daniel Wiltsche-Prokesch, Peter Puschner, Phillip Raffeck, Martin Schoeberl, Simon Schuster, and Peter Wägemann. The Platin Multi-Target Worst-Case Analysis Tool. In 22nd International Workshop on Worst-Case Execution Time Analysis (WCET 2024). Open Access Series in Informatics (OASIcs), Volume 121, pp. 2:1-2:14, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2024)
https://doi.org/10.4230/OASIcs.WCET.2024.2

Abstract

With the increasing number of applications that require reliable runtime guarantees, the relevance of static worst-case analysis tools that can provide such guarantees increases. These analysis tools determine resource-consumption bounds of application tasks, with a model of the underlying hardware, to meet given resource budgets during runtime, such as deadlines of real-time tasks. This paper presents enhancements to the Platin worst-case analysis tool developed since its original release more than ten years ago. These novelties comprise Platin’s support for new architectures (i.e., ARMv6-M, RISC-V, and AVR) in addition to the previous backends for Patmos and ARMv7-M. Further, Platin now features system-wide analysis methods and annotation support to express system-level constraints. Besides an overview of these enhancements, we evaluate Platin’s accuracy for the two supported architecture implementations, Patmos and RISC-V.

Subject Classification

ACM Subject Classification
  • Software and its engineering → Automated static analysis
  • Software and its engineering → Compilers
  • Computer systems organization → Real-time systems
Keywords
  • worst-case resource consumption
  • WCET
  • static analysis tool

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. Saad Ahmed, Bashima Islam, Kasim Sinan Yildirim, Marco Zimmerling, Przemysław Pawełczak, Muhammad Hamad Alizai, Brandon Lucia, Luca Mottola, Jacob Sorber, and Josiah Hester. The internet of batteryless things. Communications of the ACM, 67(3):64-73, February 2024. URL: https://doi.org/10.1145/3624718.
  2. ARM Limited. ARMv6-M Architecture Reference Manual, 2010. Google Scholar
  3. ARM Limited. Cortex-M0+ Technical Reference Manual, 2012. Google Scholar
  4. ARM Limited. ARMv7-M Architecture Reference Manual, 2014. Google Scholar
  5. ARM Limited. ARM Cortex-M4 - Technical Reference Manual, 2015. Revision: r0p1. Google Scholar
  6. Atmel Corporation. AATmega1284P - 8-bit Microcontroller with 128K Bytes In-System Programmable Flash, 8059d–avr–11/09 edition, 2009. URL: https://ww1.microchip.com/downloads/en/DeviceDoc/doc8059.pdf.
  7. Atmel Corporation. AVR Instruction Set Manual, atmel-0856l-avr-instruction-set-manual_other-11/2016 edition, 2016. URL: https://ww1.microchip.com/downloads/en/devicedoc/atmel-0856-avr-instruction-set-manual.pdf.
  8. C. Ballabriga, H. Cassé, C. Rochange, and P. Sainrat. OTAWA: An open toolbox for adaptive WCET analysis. In Proceedings of the 8th International Workshop on Software Technolgies for Embedded and Ubiquitous Systems (SEUS '10), pages 35-46, 2010. Google Scholar
  9. Guillem Bernat and Niklas Holsti. Compiler support for wcet analysis: a wish list. In WCET, pages 65-69, 2003. Google Scholar
  10. Adam Betts, Nicholas Merriam, and Guillem Bernat. Hybrid measurement-based wcet analysis at the source level using object-level traces. In Proceedings of the 10th International Workshop on Worst-Case Execution Time Analysis (WCET '10). Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2010. Google Scholar
  11. Philipp Degasperi, Stefan Hepp, Wolfgang Puffitsch, and Martin Schoeberl. A method cache for Patmos. In Proceedings of the 17th IEEE Symposium on Object/Component/Service-oriented Real-time Distributed Computing (ISORC 2014), pages 100-108, Reno, Nevada, USA, June 2014. IEEE. URL: https://doi.org/10.1109/ISORC.2014.47.
  12. Eva Dengler, Phillip Raffeck, Simon Schuster, and Peter Wägemann. Fusionclock: Energy-optimal clock-tree reconfigurations for energy-constrained real-time systems. In Proceedings of the 35th Euromicro Conference on Real-Time Systems (ECRTS '23), volume 262, pages 6:1-6:24. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2023. Google Scholar
  13. Christian Dietrich, Martin Hoffmann, and Daniel Lohmann. Cross-kernel control-flow-graph analysis for event-driven real-time systems. In Proceedings of the 2015 ACM SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems (LCTES '15), New York, NY, USA, June 2015. ACM Press. URL: https://doi.org/10.1145/2670529.2754963.
  14. Christian Dietrich, Peter Wägemann, Peter Ulbrich, and Daniel Lohmann. SysWCET: Whole-system response-time analysis for fixed-priority real-time systems. In Proceedings of the 23nd Real-Time and Embedded Technology and Applications Symposium (RTAS '17), pages 37-48, 2017. Google Scholar
  15. Espressif Systems. ESP32-C3 Series Datasheet Ultra-Low-Power SoC with RISC-V Single-Core CPU, 2024. Version 1.6. URL: https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf.
  16. H. Falk and P. Lokuciejewski. A compiler framework for the reduction of worst-case execution times. Real-time Systems, 46(2):251-300, 2010. Google Scholar
  17. Heiko Falk, Sebastian Altmeyer, Peter Hellinckx, Björn Lisper, Wolfgang Puffitsch, Christine Rochange, Martin Schoeberl, Rasmus Bo Sørensen, Peter Wägemann, and Simon Wegener. TACLeBench: A benchmark collection to support worst-case execution time research. In Martin Schoeberl, editor, 16th International Workshop on Worst-Case Execution Time Analysis (WCET 2016), volume 55 of OpenAccess Series in Informatics (OASIcs), pages 2:1-2:10, Dagstuhl, Germany, 2016. Schloss Dagstuhl - Leibniz-Zentrum für Informatik. URL: https://doi.org/10.4230/OASIcs.WCET.2016.2.
  18. Heiko Falk, Paul Lokuciejewski, and Henrik Theiling. Design of a wcet-aware c compiler. In 2006 IEEE/ACM/IFIP Workshop on Embedded Systems for Real Time Multimedia, pages 121-126. IEEE, 2006. Google Scholar
  19. Christian Ferdinand and Reinhold Heckmann. aiT: Worst-case execution time prediction by static program analysis. Building the Information Society, 156:377-383, 2004. Google Scholar
  20. Freescale Semiconductor, Inc. KL46 Sub-Family Reference Manual, 2013. Google Scholar
  21. Sebastian Hahn, Michael Jacobs, Nils Hölscher, Kuan-Hsun Chen, Jian-Jia Chen, and Jan Reineke. LLVMTA: An llvm-based wcet analysis tool. In Clément Ballabriga, editor, Proceedings of the 20th International Workshop on Worst-Case Execution Time Analysis (WCET '22), pages 2:1-2:17, 2022. Google Scholar
  22. D. Hardy, B. Rouxel, and I. Puaut. The Heptane static worst-case execution time estimation tool. In Jan Reineke, editor, Proceedings of the 17th International Workshop on Worst-Case Execution Time Analysis (WCET '17), volume 57 of OpenAccess Series in Informatics (OASIcs), pages 8:1-8:12, Dagstuhl, Germany, 2017. Schloss Dagstuhl - Leibniz-Zentrum für Informatik. URL: https://doi.org/10.4230/OASIcs.WCET.2017.8.
  23. Stefan Hepp, Benedikt Huber, Jens Knoop, Daniel Prokesch, and Peter P. Puschner. The platin tool kit - the T-CREST approach for compiler and WCET integration. In Proceedings 18th Kolloquium Programmiersprachen und Grundlagen der Programmierung, KPS 2015, Pörtschach, Austria, October 5-7, 2015, 2015. Google Scholar
  24. N. Holsti and S. Saarinen. Status of the Bound-T WCET tool. In Proceedings of the 2nd International Workshop on Worst-Case Execution Time Analysis (WCET '02), pages 36-41, 2002. Google Scholar
  25. B. Huber, D. Prokesch, and P. Puschner. Combined WCET analysis of bitcode and machine code using control-flow relation graphs. In Proceedings of the 14th Conference on Languages, Compilers and Tools for Embedded Systems (LCTES '13), pages 163-172, 2013. Google Scholar
  26. Benedikt Huber, Stefan Hepp, and Martin Schoeberl. Scope-based method cache analysis. In Proceedings of the 14th International Workshop on Worst-Case Execution Time Analysis (WCET 2014), pages 73-82, Madrid, Spain, July 2014. URL: https://doi.org/10.4230/OASIcs.WCET.2014.73.
  27. Infineon Technologies AG. XMC4500 Microcontroller Series for Industrial Applications - Reference Manual, 2016. V1.6 2016-07. Google Scholar
  28. Ramkumar Jayaseelan, Tulika Mitra, and Xianfeng Li. Estimating the worst-case energy consumption of embedded software. In Proceedings of the 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS '06), pages 81-90, 2006. URL: https://doi.org/10.1109/RTAS.2006.17.
  29. Alexander Jordan, Florian Brandner, and Martin Schoeberl. Static analysis of worst-case stack cache behavior. In Proceedings of the 21st International Conference on Real-Time Networks and Systems (RTNS 2013), pages 55-64, New York, NY, USA, 2013. ACM. URL: https://doi.org/10.1145/2516821.2516828.
  30. Daniel Kästner, Markus Pister, Simon Wegener, and Christian Ferdinand. TimeWeaver: A tool for hybrid worst-case execution time analysis. In Sebastian Altmeyer, editor, Proceedings of the 19th International Workshop on Worst-Case Execution Time Analysis (WCET '19), volume 72 of OpenAccess Series in Informatics (OASIcs), pages 1:1-1:11, Dagstuhl, Germany, 2019. Schloss Dagstuhl - Leibniz-Zentrum für Informatik. URL: https://doi.org/10.4230/OASIcs.WCET.2019.1.
  31. Raimund Kirner. The wcet analysis tool CalcWcet167. In Proceedings of the International Symposium On Leveraging Applications of Formal Methods, Verification and Validation (ISoLA '12), pages 158-172, 2012. Google Scholar
  32. C. Lattner and V. Adve. LLVM: A compilation framework for lifelong program analysis & transformation. In Proceedings of the International Symposium on Code Generation and Optimization (CGO '04), pages 75-86, 2004. Google Scholar
  33. Hanbing Li, Isabelle Puaut, and Erven Rohou. Traceability of flow information: Reconciling compiler optimizations and wcet estimation. In Proceedings of the 22nd International Conference on Real-Time Networks and Systems, pages 97-106, 2014. Google Scholar
  34. Xianfeng Li, Yun Liang, Tulika Mitra, and Abhik Roychoudhury. Chronos: A timing analyzer for embedded software. Science of Computer Programming, 69(1):56-67, 2007. Google Scholar
  35. Yau-Tsun Steven Li and Sharad Malik. Performance analysis of embedded software using implicit path enumeration. In ACM SIGPLAN Notices, volume 30(11), pages 88-98. ACM, 1995. Google Scholar
  36. B. Lisper. SWEET - a tool for WCET flow analysis. In Proceedings of the 6th International Symposium On Leveraging Applications of Formal Methods, Verification and Validation (ISoLA '14), pages 482-485. Springer, 2014. Google Scholar
  37. Mingsong Lv, Nan Guan, Yi Zhang, Qingxu Deng, Ge Yu, and Jianming Zhang. A survey of WCET analysis of real-time operating systems. In Proceedings of the 2009 International Conference on Embedded Software and Systems (ICESS'09), pages 65-72, 2009. URL: https://doi.org/10.1109/ICESS.2009.24.
  38. James Pallister, Steve Kerrison, Jeremy Morse, and Kerstin Eder. Data dependent energy modeling for worst case energy consumption analysis. In Proceedings of the 20th Workshop on Software and Compilers for Embedded Systems, pages 51-59, 2017. URL: https://doi.org/10.1145/3078659.3078666.
  39. P. Puschner and A. Schedl. Computing maximum task execution times: A graph-based approach. Real-Time Systems, 13:67-91, 1997. Google Scholar
  40. Peter Puschner, Daniel Prokesch, Benedikt Huber, Jens Knoop, Stefan Hepp, and Gernot Gebhard. The t-crest approach of compiler and wcet-analysis integration. In Proceedings of the 16th IEEE International Symposium on Object/component/service-oriented Real-time distributed Computing (ISORC 2013), pages 1-8, 2013. Google Scholar
  41. Phillip Raffeck, Christian Eichler, Peter Wägemann, and Wolfgang Schröder-Preikschat. Worst-case energy-consumption analysis by microarchitecture-aware timing analysis for device-driven cyber-physical systems. In Proceedings of the 19th International Workshop on Worst-Case Execution Time Analysis (WCET '19), pages 6:1-6:12, 2019. URL: https://doi.org/10.4230/OASIcs.WCET.2019.4.
  42. Phillip Raffeck, Johannes Maier, and Peter Wägemann. WoCA: Avoiding intermittent execution in embedded systems by worst-case analyses with device states. In Proceedings of the 25th ACM International Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES '24), 2024. URL: https://sys.cs.fau.de/publications/2024/raffeck_24_lctes.pdf.
  43. RISC-V Foundation. The RISC-V Instruction Set Manual, Volume I: Unprivileged ISA, December 2019. Document Version 20191213. URL: https://github.com/riscv/riscv-isa-manual/releases/download/Ratified-IMAFDQC/riscv-spec-20191213.pdf.
  44. Martin Schoeberl, Sahar Abbaspour, Benny Akesson, Neil Audsley, Raffaele Capasso, Jamie Garside, Kees Goossens, Sven Goossens, Scott Hansen, Reinhold Heckmann, Stefan Hepp, Benedikt Huber, Alexander Jordan, Evangelia Kasapaki, Jens Knoop, Yonghui Li, Daniel Prokesch, Wolfgang Puffitsch, Peter Puschner, André Rocha, Cláudio Silva, Jens Sparsø, and Alessandro Tocchi. T-CREST: Time-predictable multi-core architecture for embedded systems. Journal of Systems Architecture, 61(9):449-471, 2015. URL: https://doi.org/10.1016/j.sysarc.2015.04.002.
  45. Martin Schoeberl, Wolfgang Puffitsch, Stefan Hepp, Benedikt Huber, and Daniel Prokesch. Patmos: A time-predictable microprocessor. Real-Time Systems, 54(2):389-423, April 2018. URL: https://doi.org/10.1007/s11241-018-9300-4.
  46. Martin Schoeberl, Wolfgang Puffitsch, Rasmus Ulslev Pedersen, and Benedikt Huber. Worst-case execution time analysis for a Java processor. Software: Practice and Experience, 40/6:507-542, 2010. URL: https://doi.org/10.1002/spe.968.
  47. Bernhard Schommer, Christoph Cullmann, Gernot Gebhard, Xavier Leroy, Michael Schmidt, and Simon Wegener. Embedded program annotations for wcet analysis. In WCET 2018: 18th International Workshop on Worst-Case Execution Time Analysis, volume 63. Dagstuhl Publishing, 2018. Google Scholar
  48. Simon Schuster, Peter Wägemann, Peter Ulbrich, and Wolfgang Schröder-Preikschat. Proving Real-Time Capability of Generic Operating Systems by System-Aware Timing Analysis. In Proceedings of the 25superscriptth Real-Time and Embedded Technology and Applications Symposium (RTAS '19), pages 318-330, Montreal, 2019. ieee. Google Scholar
  49. Simon Schuster, Peter Wägemann, Peter Ulbrich, and Wolfgang Schröder-Preikschat. Annotate once - analyze anywhere: Context-aware wcet analysis by user-defined abstractions. In Proceedings of the 22nd ACM International Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES '21), pages 54-66, 2021. URL: https://doi.org/10.1145/3461648.3463847.
  50. Volkmar Sieh, Robert Burlacu, Timo Hönig, Heiko Janker, Phillip Raffeck, Peter Wägemann, and Wolfgang Schröder-Preikschat. An end-to-end toolchain: From automated cost modeling to static WCET and WCEC analysis. In Proceedings of the 20th International Symposium on Real-Time Distributed Computing (ISORC '17), pages 1-10, 2017. Google Scholar
  51. Volkmar Sieh, Robert Burlacu, Timo Hönig, Heiko Janker, Phillip Raffeck, Peter Wägemann, and Wolfgang Schröder-Preikschat. Combining automated measurement-based cost modeling with static worst-case execution-time and energy-consumption analyses. IEEE Embedded Systems Letters, 11(2):38-41, 2019. URL: https://doi.org/10.1109/LES.2018.2868823.
  52. Ingmar Jendrik Stein. ILP-based path analysis on abstract pipeline state graphs. epubli, 2010. Google Scholar
  53. D. Trilla, C. Hernandez, J. Abella, and F. J. Cazorla. Worst-case energy consumption: A new challenge for battery-powered critical devices. IEEE Transactions on Sustainable Computing, pages 1-8, 2019. URL: https://doi.org/10.1109/TSUSC.2019.2943142.
  54. Peter Wägemann, Christian Dietrich, Tobias Distler, Peter Ulbrich, and Wolfgang Schröder-Preikschat. Whole-system worst-case energy-consumption analysis for energy-constrained real-time systems. In Proceedings of the 30th Euromicro Conference on Real-Time Systems (ECRTS '18), volume 106, pages 24:1-24:25. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2018. URL: https://doi.org/10.4230/LIPIcs.ECRTS.2018.24.
  55. Peter Wägemann, Tobias Distler, Timo Hönig, Heiko Janker, Rüdiger Kapitza, and Wolfgang Schröder-Preikschat. Worst-case energy consumption analysis for energy-constrained embedded systems. In Proceedings of the 27th Euromicro Conference on Real-Time Systems (ECRTS '15), pages 105-114, 2015. URL: https://doi.org/10.1109/ECRTS.2015.17.
  56. Simon Wegener, Kris K. Nikov, Jose Nunez-Yanez, and Kerstin Eder. EnergyAnalyzer: Using static wcet analysis techniques to estimate the energy consumption of embedded applications. In Peter Wägemann, editor, Proceedings of the 21th International Workshop on Worst-Case Execution Time Analysis (WCET '23), volume 114 of Open Access Series in Informatics (OASIcs), pages 9:1-9:14, Dagstuhl, Germany, 2023. Schloss Dagstuhl - Leibniz-Zentrum für Informatik. URL: https://doi.org/10.4230/OASIcs.WCET.2023.9.
  57. Reinhard Wilhelm, Jakob Engblom, Andreas Ermedahl, Niklas Holsti, Stephan Thesing, David Whalley, Guillem Bernat, Christian Ferdinand, Reinhold Heckmann, Tulika Mitra, Frank Mueller, Isabelle Puaut, Peter Puschner, Jan Staschulat, and Per Stenström. The worst-case execution-time problem - overview of methods and survey of tools. ACM Transactions on Embedded Computing Systems (ACM TECS), 7(3):1-53, 2008. Google Scholar
  58. Michael Zimmer, David Broman, Chris Shaver, and Edward A Lee. FlexPRET: A processor platform for mixed-criticality systems. In Proceedings of the 19th Real-Time and Embedded Technology and Applications Symposium (RTAS '14), pages 101-110, 2014. Google Scholar