Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3575757.3593655acmotherconferencesArticle/Chapter ViewAbstractPublication PagesrtnsConference Proceedingsconference-collections
research-article

WCET analysis with procedure arguments as parameters

Published: 07 June 2023 Publication History

Abstract

Parametric Worst-Case Execution Time (WCET) is a static analysis that computes a WCET formula that depends on various parameters. The formula can be used off-line for fast parameter space exploration, and on-line for adaptive scheduling.
In this work, we propose a technique that, by static analysis of binary code, automatically produces a formula that represents the WCET of a procedure as a function of the procedure arguments. The formula captures how the control-flow, and thus the WCET, depends on the argument values due to arguments appearing in branch conditions (loop conditions or if-then-else conditions).
We use the TACLeBench benchmark programs to illustrate the impact of procedure arguments on the WCET. Our tool generates C code with bounded WCET that can be embedded in the analysed program to evaluate the formula on-line. We show that, for some programs, the potential gain is significantly larger than the cost of evaluating the formula, thus opening the possibility of adaptive scheduling.

References

[1]
Kunal Agrawal, Sanjoy Baruah, and Alan Burns. 2019. Semi-Clairvoyance in Mixed-Criticality Scheduling. In 2019 IEEE Real-Time Systems Symposium (RTSS). IEEE, Hong Kong, China, 458–468. https://doi.org/10.1109/RTSS46320.2019.00047 ISSN: 2576-3172.
[2]
Martin Alt, Christian Ferdinand, Florian Martin, and Reinhard Wilhelm. 1996. Cache behavior prediction by abstract interpretation. In Static Analysis(Lecture Notes in Computer Science), Radhia Cousot and David A. Schmidt (Eds.). Springer, Berlin, Heidelberg, 52–66. https://doi.org/10.1007/3-540-61739-6_33
[3]
Ernst Althaus, Sebastian Altmeyer, and Rouven Naujoks. 2011. Precise and efficient parametric path analysis. SIGPLAN Not. 46, 5 (April 2011), 141–150. https://doi.org/10.1145/2016603.1967697
[4]
Ernst Althaus, Sebastian Altmeyer, and Rouven Naujoks. 2011. Symbolic Worst Case Execution Times. In Theoretical Aspects of Computing – ICTAC 2011(Lecture Notes in Computer Science), Antonio Cerone and Pekka Pihlajasaari (Eds.). Springer, Berlin, Heidelberg, 25–44. https://doi.org/10.1007/978-3-642-23283-1_5
[5]
Sebastian Altmeyer, Christian Hümbert, Björn Lisper, and Reinhard Wilhelm. 2008. Parametric Timing Analysis for Complex Architectures. In 2008 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications. IEEE, Kaohsiung, Taiwan, 367–376. https://doi.org/10.1109/RTCSA.2008.7 ISSN: 2325-1301.
[6]
Arm. 2023. Procedure Call Standard for the Arm® Architecture. https://developer.arm.com/Additional%20Resources/ABI-Procedure%20Call%20Standard%20for%20the%20Arm%20Architecture
[7]
Clément Ballabriga, Hugues Cassé, Christine Rochange, and Pascal Sainrat. 2010. OTAWA: An Open Toolbox for Adaptive WCET Analysis. In Software Technologies for Embedded and Ubiquitous Systems(Lecture Notes in Computer Science), Sang Lyul Min, Robert Pettit, Peter Puschner, and Theo Ungerer (Eds.). Springer, Berlin, Heidelberg, 35–46. https://doi.org/10.1007/978-3-642-16256-5_6
[8]
Clément Ballabriga, Julien Forget, Laure Gonnord, Giuseppe Lipari, and Jordy Ruiz. 2019. Static Analysis Of Binary Code With Memory Indirections Using Polyhedra. In VMCAI’19 - International Conference on Verification, Model Checking, and Abstract Interpretation(LNCS, Vol. 11388). Springer, Cascais, Portugal, 114–135. https://doi.org/10.1007/978-3-030-11245-5_6
[9]
Clément Ballabriga, Julien Forget, and Giuseppe Lipari. 2017. Symbolic WCET Computation. ACM Transactions on Embedded Computing Systems 17, 2 (2017), 1–26. https://doi.org/10.1145/3147413
[10]
Sanjoy Baruah and Pontus Ekberg. 2021. Graceful Degradation in Semi-Clairvoyant Scheduling. In 33rd Euromicro Conference on Real-Time Systems (ECRTS 2021)(Leibniz International Proceedings in Informatics (LIPIcs), Vol. 196), Björn B. Brandenburg (Ed.). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany, 9:1–9:21. https://doi.org/10.4230/LIPIcs.ECRTS.2021.9
[11]
Bilel Benhamamouch, Bruno Monsuez, and Franck Védrine. 2008. Computing WCET using symbolic execution. In Second International Workshop on Verification and Evaluation of Computer and Communication Systems (VECoS 2008). ScienceOpen, Leeds, UK, 1–12. https://doi.org/10.14236/ewic/VECOS2008.12 Publisher: BCS Learning & Development.
[12]
Armin Biere, Jens Knoop, Laura Kovács, and Jakob Zwirchmayr. 2013. The Auspicious Couple: Symbolic Execution and WCET Analysis. In 13th International Workshop on Worst-Case Execution Time Analysis(OpenAccess Series in Informatics (OASIcs), Vol. 30), Claire Maiza (Ed.). Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 53–63. https://doi.org/10.4230/OASIcs.WCET.2013.53
[13]
Enrico Bini, Marco Di Natale, and Giorgio Buttazzo. 2008. Sensitivity analysis for fixed-priority real-time systems. Real-Time Syst 39, 1 (Aug. 2008), 5–30. https://doi.org/10.1007/s11241-006-9010-1
[14]
B. Blackham, M. Liffiton, and G. Heiser. 2014. Trickle: Automated infeasible path detection using all minimal unsatisfiable subsets. In 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS). IEEE, Berlin, Germany, 169–178. https://doi.org/10.1109/RTAS.2014.6926000
[15]
Alan Burns and Robert I. Davis. 2020. Schedulability Analysis for Adaptive Mixed Criticality Systems with Arbitrary Deadlines and Semi-Clairvoyance. In 2020 IEEE Real-Time Systems Symposium (RTSS). IEEE, Houston, TX, 12–24. https://doi.org/10.1109/RTSS49844.2020.00013
[16]
Stefan Bygde, Andreas Ermedahl, and Björn Lisper. 2011. An efficient algorithm for parametric WCET calculation. Journal of Systems Architecture 57, 6 (June 2011), 614–624. https://doi.org/10.1016/j.sysarc.2010.06.009
[17]
M. Caccamo, G. Buttazzo, and Lui Sha. 2000. Capacity sharing for overrun control. In Proceedings 21st IEEE Real-Time Systems Symposium. IEEE, Orlando, FL, USA, 295–304. https://doi.org/10.1109/REAL.2000.896018
[18]
Ting Chen, Tulika Mitra, Abhik Roychoudhury, and Vivy Suhendra. 2007. Exploiting Branch Constraints without Exhaustive Path Enumeration. In 5th International Workshop on Worst-Case Execution Time Analysis (WCET’05)(OpenAccess Series in Informatics (OASIcs), Vol. 1), Reinhard Wilhelm (Ed.). Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 46–49. https://doi.org/10.4230/OASIcs.WCET.2005.816
[19]
D. Chu and J. Jaffar. 2011. Symbolic simulation on complicated loops for WCET Path Analysis. In 2011 Proceedings of the Ninth ACM International Conference on Embedded Software (EMSOFT). Association for Computing Machinery, New York, NY, USA, 319–328.
[20]
Joel Coffman, Christopher Healy, Frank Mueller, and David Whalley. 2007. Generalizing parametric timing analysis. SIGPLAN Not. 42, 7 (June 2007), 152–154. https://doi.org/10.1145/1273444.1254795
[21]
Joel S. Cohen. 2003. Computer alegebra and symbolic computation: mathematical methods. AK Peters, Natick, Mass.
[22]
A. Colin and G. Bernat. 2002. Scope-tree: a program representation for symbolic worst-case execution time analysis. In Proceedings 14th Euromicro Conference on Real-Time Systems. Euromicro RTS 2002. IEEE, Vienna, Austria, 50–59. https://doi.org/10.1109/EMRTS.2002.1019185
[23]
Patrick Cousot and Radhia Cousot. 1977. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages(POPL ’77). Association for Computing Machinery, New York, NY, USA, 238–252. https://doi.org/10.1145/512950.512973
[24]
Sun Ding and Hee Beng Kuan Tan. 2013. Detection of Infeasible Paths: Approaches and Challenges. In Evaluation of Novel Approaches to Software Engineering(Communications in Computer and Information Science), Leszek A. Maciaszek and Joaquim Filipe (Eds.). Springer, Berlin, Heidelberg, 64–78. https://doi.org/10.1007/978-3-642-45422-6_5
[25]
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. 2016. TACLeBench: A Benchmark Collection to Support Worst-Case Execution Time Research. In 16th International Workshop on Worst-Case Execution Time Analysis. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Toulouse, France, 2:1–2:10. https://doi.org/10.4230/OASIcs.WCET.2016.2
[26]
Paul Feautrier. 1988. Parametric integer programming. RAIRO - Operations Research 22, 3 (1988), 243–268. https://doi.org/10.1051/ro/1988220302431
[27]
Laurent George and Pierre Courbin. 2011. Reconfiguration of Uniprocessor Sporadic Real-Time Systems: The Sensitivity Approach. In Reconfigurable Embedded Control Systems: Applications for Flexibility and Agility. IGI Global, Hershey, PA. https://doi.org/10.4018/978-1-60960-086-0.ch007 Publication Title: Reconfigurable Embedded Control Systems: Applications for Flexibility and Agility.
[28]
Jan Gustaffson, Andreas Ermedahl, and Björn Lisper. 2006. Algorithms for Infeasible Path Calculation. In 6th International Workshop on Worst-Case Execution Time Analysis (WCET’06)(OpenAccess Series in Informatics (OASIcs), Vol. 4), Frank Mueller (Ed.). Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 1–6. https://doi.org/10.4230/OASIcs.WCET.2006.667
[29]
Jan Gustafsson, Andreas Ermedahl, Christer Sandberg, and Bjorn Lisper. 2006. Automatic Derivation of Loop Bounds and Infeasible Paths for WCET Analysis Using Abstract Execution. In 2006 27th IEEE International Real-Time Systems Symposium (RTSS’06). IEEE, Rio de Janeiro, Brazil, 57–66. https://doi.org/10.1109/RTSS.2006.12
[30]
C.A. Healy and D.B. Whalley. 2002. Automatic detection and exploitation of branch constraints for timing analysis. IEEE Transactions on Software Engineering 28, 8 (Aug. 2002), 763–781. https://doi.org/10.1109/TSE.2002.1027799
[31]
Yau-Tsun Steven Li and Sharad Malik. 1995. Performance analysis of embedded software using implicit path enumeration. In Proceedings of the ACM SIGPLAN 1995 workshop on Languages, compilers, & tools for real-time systems(LCTES ’95). Association for Computing Machinery, New York, NY, USA, 88–98. https://doi.org/10.1145/216636.216666
[32]
G. Lipari and S. Baruah. 2000. Greedy reclamation of unused bandwidth in constant-bandwidth servers. In Proceedings 12th Euromicro Conference on Real-Time Systems. Euromicro RTS 2000. IEEE, Stockholm, Sweden, 193–200. https://doi.org/10.1109/EMRTS.2000.854007 ISSN: 1068-3070.
[33]
Ravindra Metta, Martin Becker, Prasad Bokil, Samarjit Chakraborty, and R Venkatesh. 2016. TIC: a scalable model checking based approach to WCET estimation. ACM SIGPLAN Notices 51, 5 (June 2016), 72–81. https://doi.org/10.1145/2980930.2907961
[34]
S. Mohan, F. Mueller, W. Hawkins, M. Root, C. Healy, and D. Whalley. 2005. ParaScale: exploiting parametric timing analysis for real-time schedulers and dynamic voltage scaling. In 26th IEEE International Real-Time Systems Symposium (RTSS’05). IEEE, Miami, FL, USA, 10 pp.–242. https://doi.org/10.1109/RTSS.2005.33 ISSN: 1052-8725.
[35]
Sibin Mohan, Frank Mueller, Michael Root, William Hawkins, Christopher Healy, David Whalley, and Emilio Vivancos. 2011. Parametric timing analysis and its application to dynamic voltage scaling. ACM Trans. Embed. Comput. Syst. 10, 2 (Jan. 2011), 25:1–25:34. https://doi.org/10.1145/1880050.1880061
[36]
Luigi Palopoli, Luca Abeni, Tommaso Cucinotta, Giuseppe Lipari, and Sanjoy K. Baruah. 2008. Weighted feedback reclaiming for multimedia applications. In 2008 IEEE/ACM/IFIP Workshop on Embedded Systems for Real-Time Multimedia. IEEE, Atlanta, GA, USA, 121–126. https://doi.org/10.1109/ESTMED.2008.4697009 ISSN: 2325-1301.
[37]
Jan Reineke and Johannes Doerfert. 2014. Architecture-parametric timing analysis. In 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS). IEEE, Berlin, Germany, 189–200. https://doi.org/10.1109/RTAS.2014.6926002 ISSN: 1545-3421.
[38]
Christine Rochange and Pascal Sainrat. 2009. A Context-Parameterized Model for Static Analysis of Execution Times. In Transactions on High-Performance Embedded Architectures and Compilers II, Per Stenström (Ed.). Vol. 5470. Springer Berlin Heidelberg, Berlin, Heidelberg, 222–241. https://doi.org/10.1007/978-3-642-00904-4_12
[39]
Jordy Ruiz and Hugues Cassé. 2015. Using SMT Solving for the Lookup of Infeasible Paths in Binary Programs. In 15th International Workshop on Worst-Case Execution Time Analysis (WCET 2015)(OpenAccess Series in Informatics (OASIcs), Vol. 47), Francisco J. Cazorla (Ed.). Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 95–104. https://doi.org/10.4230/OASIcs.WCET.2015.95
[40]
Jordy Ruiz, Hugues Cassé, and Marianne de Michiel. 2017. Working Around Loops for Infeasible Path Detection in Binary Programs. In 2017 IEEE 17th International Working Conference on Source Code Analysis and Manipulation (SCAM). IEEE, Shanghai, China, 1–10. https://doi.org/10.1109/SCAM.2017.13 ISSN: 2470-6892.
[41]
Vivy Suhendra, Tulika Mitra, Abhik Roychoudhury, and Ting Chen. 2006. Efficient detection and exploitation of infeasible paths for software timing analysis. In Proceedings of the 43rd annual Design Automation Conference(DAC ’06). Association for Computing Machinery, New York, NY, USA, 358–363. https://doi.org/10.1145/1146909.1147002
[42]
Emilio Vivancos, Christopher Healy, Frank Mueller, and David Whalley. 2001. Parametric Timing Analysis. In Proceedings of the 2001 ACM SIGPLAN workshop on Optimization of middleware and distributed systems(OM ’01). Association for Computing Machinery, New York, NY, USA, 88–93. https://doi.org/10.1145/384198.384230
[43]
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. 2008. The worst-case execution-time problem—overview of methods and survey of tools. ACM Transactions on Embedded Computing Systems 7, 3 (April 2008), 1–53. https://doi.org/10.1145/1347375.1347389
[44]
Stephan Wilhelm and Björn Wachter. 2009. Symbolic state traversal for WCET analysis. In Proceedings of the seventh ACM international conference on Embedded software - EMSOFT ’09. ACM Press, Grenoble, France, 137. https://doi.org/10.1145/1629335.1629354

Cited By

View all
  • (2024)Parametric WCET as a function of procedure argumentsJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2024.103086148:COnline publication date: 2-Jul-2024
  • (2024)ITER: an ITERative approach for inter-core timing analysis in statically scheduled cyclic executive systems on COTS multicore platforms for CRTESThe Journal of Supercomputing10.1007/s11227-024-06208-480:13(19719-19770)Online publication date: 28-May-2024

Index Terms

  1. WCET analysis with procedure arguments as parameters

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    RTNS '23: Proceedings of the 31st International Conference on Real-Time Networks and Systems
    June 2023
    242 pages
    ISBN:9781450399838
    DOI:10.1145/3575757
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 07 June 2023

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. adaptive WCET
    2. parametric WCET
    3. static analysis
    4. symbolic WCET

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Funding Sources

    Conference

    RTNS 2023

    Acceptance Rates

    Overall Acceptance Rate 119 of 255 submissions, 47%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)57
    • Downloads (Last 6 weeks)11
    Reflects downloads up to 03 Sep 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Parametric WCET as a function of procedure argumentsJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2024.103086148:COnline publication date: 2-Jul-2024
    • (2024)ITER: an ITERative approach for inter-core timing analysis in statically scheduled cyclic executive systems on COTS multicore platforms for CRTESThe Journal of Supercomputing10.1007/s11227-024-06208-480:13(19719-19770)Online publication date: 28-May-2024

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format.

    HTML Format

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media