skip to main content
10.1145/2516821.2516847acmotherconferencesArticle/Chapter ViewAbstractPublication PagesrtnsConference Proceedingsconference-collections
research-article

WCET squeezing: on-demand feasibility refinement for proven precise WCET-bounds

Published: 16 October 2013 Publication History

Abstract

The Worst-Case Execution Time (WCET) computed by a WCET analyzer is usually not tight, leaving a gap between the actual and the computed WCET of a program. In this article we present a novel on-demand WCET feasibility refinement technique, called WCET Squeezing, for minimizing this gap.
WCET Squeezing provides conceptually new means for addressing the classical problem of WCET computation, by deriving a WCET bound that comes as close as possible to the actual one. WCET Squeezing is an anytime algorithm, that is, it can be stopped at any time without violating the soundness of its results. This anytime property allows to apply WCET Squeezing not only for deriving precise WCET bounds but to also prove additional timing constraints over the program. Namely, WCET Squeezing can be used to guarantee that a program is fast enough by ensuring that the WCET of the program is below some required limit. If the initially computed WCET of the program is above this limit, WCET Squeezing can be stopped as soon as the squeezed WCET of the program is below the limit (proving the program meets the required timing constraint), or if the squeezed WCET is tight but above the given limit (proving the program cannot meet the timing constraint). WCET Squeezing can also be used until a given time budget is exhausted to compute a tight(er) WCET bound for a program. These new applications of WCET Squeezing are out of the scope of traditional WCET analyzers.
WCET Squeezing combines symbolic program execution with the Implicit Path Enumeration Technique (IPET) for computing a precise WCET bound. WCET Squeezing is applicable as a post-process to any WCET analyzer which encodes the IPET problem as an Integer Linear Program (ILP). We implemented our method in the r-TuBound toolchain and evaluated our implementation on a set examples taken from the Mälardalen WCET benchmark suite. Our experiments demonstrate that WCET Squeezing can significantly tighten the WCET bounds of programs. Moreover, the derived WCET bounds are proven to be precise at a moderate computational cost.

References

[1]
C. Ballabriga, H. Cassé, C. Rochange, and P. Sainrat. OTAWA: an Open Toolbox for Adaptive WCET Analysis. In Proc. of IFIP Workshop -- SEUS, 2010.
[2]
H. J. Bang, T. H. Kim, and S. D. Cha. An Iterative Refinement Framework for Tighter Worst-Case Execution Time Calculation. In Proc. of ISORC, pages 365--372, 2007.
[3]
C. Barrett, A. Stump, C. Tinelli, S. Boehme, D. Cok, D. Deharbe, B. Dutertre, P. Fontaine, V. Ganesh, A. Griggio, J. Grundy, P. Jackson, A. Oliveras, S. Krstić, M. Moskal, L. D. Moura, R. Sebastiani, T. D. Cok, and J. Hoenicke. C.: The SMT-LIB Standard: Version 2.0. Technical report, 2010.
[4]
M. Berkelaar, K. Eikland, and P. Notebaert. lp_solve P. Software, 2004. Available at http://lpsolve.sourceforge.net/5.5/.
[5]
A. Biere, J. Knoop, L. Kovács, and J. Zwirchmayr. SmacC: A Retargetable Symbolic Execution Engine. In Proc. of ATVA, pages 482--486, 2013.
[6]
A. Biere, J. Knoop, L. Kovács, and J. Zwirchmayr. The Auspicious Couple: Symbolic Execution and WCET Analysis. In Proc. of WCET, pages 53--63, 2013.
[7]
R. Bodík, R. Gupta, and M. L. Soffa. Refining Data Flow Information Using Infeasible Paths. SIGSOFT Softw. Eng. Notes, 22(6):361--377, 1997.
[8]
F. Brandner and A. Jordan. Refinement of Worst-Case Execution Time Bounds by Graph Pruning. 2013. Under submission.
[9]
C. Cadar, D. Dunbar, and D. R. Engler. KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs. In Proc. of OSDI, pages 209--224, 2008.
[10]
C. Cadar, V. Ganesh, P. M. Pawlowski, D. L. Dill, and D. R. Engler. EXE: Automatically Generating Inputs of Death. ACM Trans. Inf. Syst. Secur., 12(2):10:1--10:38, 2008.
[11]
P. Cerny, T. Henzinger, and A. Radhakrishna. Quantitative Abstraction Refinement. In Proc. of POPL, pages 115--128, 2013.
[12]
E. M. Clarke, O. Grumberg, S. Jha, Y. Lu, and H. Veith. Counterexample-Guided Abstraction Refinement. In Proc. of CAV, pages 154--169, 2000.
[13]
P. Cousot and R. Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In In Proc.of POPL, pages 238--252, 1977.
[14]
C. Cullmann and F. Martin. Data-flow based detection of loop bounds. In Proc. of WCET, 2007.
[15]
A. Ermedahl, J. Fredriksson, J. Gustafsson, and P. Altenbernd. Deriving the worst-case execution time input values. In Proc. of ECRTS, pages 45--54, 2009.
[16]
J. Gustafsson. SWEET: SWEdish Execution Time tool. http://www.mrtc.mdh.se/projects/wcet/sweet.html, 2001.
[17]
J. Gustafsson, A. Betts, A. Ermedahl, and B. Lisper. The Mälardalen WCET Benchmarks: Past, Present And Future. In Proc. of WCET, pages 136--146, 2010.
[18]
J. Gustafsson, A. Ermedahl, C. Sandberg, and B. Lisper. Automatic Derivation of Loop Bounds and Infeasible Paths for WCET Analysis Using Abstract Execution. In Proc. of RTSS, pages 57--66, 2006.
[19]
A. Holzer, C. Schallhart, M. Tautschnig, and H. Veith. FShell: Systematic Test Case Generation for Dynamic Analysis and Measurement. In Proc. of CAV, pages 209--213, 2008.
[20]
D. Kebbal and P. Sainrat. Combining Symbolic Execution and Path Enumeration in Worst-Case Execution Time Analysis. In Proc. of WCET, 2006.
[21]
R. Kirner. The WCET Analysis Tool CalcWcet167. In Proc. of ISoLA, pages 158--172, 2012.
[22]
J. Knoop, L. Kovács, and J. Zwirchmayr. r-TuBound: Loop Bounds for WCET Analysis. In Proc. of LPAR, pages 435--444, 2012.
[23]
P. Lokuciejewski and P. Marwedel. Combining Worst-Case Timing Models, Loop Unrolling, and Static Loop Analysis for WCET Minimization. In Proc. of ECRTS, pages 35--44, 2009.
[24]
S. S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers Inc., 1997.
[25]
F. Nielson, H. R. Nielson, and C. Hankin. Principles of Program Analysis. Springer-Verlag New York Inc., 1999.
[26]
P. P. Puschner and A. V. Schedl. Computing Maximum Task Execution Times -- A Graph-Based Approach. Real-Time Systems, 13(1):67--91, 1997.
[27]
S. S. Skiena. The Algorithm Design Manual. Springer Inc., 2nd edition, 2008.
[28]
I. Stein and F. Martin. Analysis of Path Exclusion at the Machine Code Level. In Proc. of WCET, 2007.

Cited By

View all
  • (2022)Static Worst-Case Analyses and Their Validation Techniques for Safety-Critical SystemsErnst Denert Award for Software Engineering 202010.1007/978-3-030-83128-8_11(227-247)Online publication date: 1-Jan-2022
  • (2021)Worst-case Execution Time Calculation for Query-based Monitors by Witness GenerationACM Transactions on Embedded Computing Systems10.1145/347190420:6(1-36)Online publication date: 18-Oct-2021
  • (2020)Complexity vulnerability analysis using symbolic executionSoftware Testing, Verification and Reliability10.1002/stvr.171630:7-8Online publication date: 6-Feb-2020
  • Show More Cited By

Index Terms

  1. WCET squeezing: on-demand feasibility refinement for proven precise WCET-bounds

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Other conferences
      RTNS '13: Proceedings of the 21st International conference on Real-Time Networks and Systems
      October 2013
      298 pages
      ISBN:9781450320580
      DOI:10.1145/2516821
      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].

      Sponsors

      • CNRS: Centre National De La Rechercue Scientifique
      • INRIA: Institut Natl de Recherche en Info et en Automatique

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 16 October 2013

      Permissions

      Request permissions for this article.

      Check for updates

      Qualifiers

      • Research-article

      Funding Sources

      Conference

      RTNS 2013
      Sponsor:
      • CNRS
      • INRIA

      Acceptance Rates

      RTNS '13 Paper Acceptance Rate 29 of 62 submissions, 47%;
      Overall Acceptance Rate 119 of 255 submissions, 47%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)0
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 14 Feb 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2022)Static Worst-Case Analyses and Their Validation Techniques for Safety-Critical SystemsErnst Denert Award for Software Engineering 202010.1007/978-3-030-83128-8_11(227-247)Online publication date: 1-Jan-2022
      • (2021)Worst-case Execution Time Calculation for Query-based Monitors by Witness GenerationACM Transactions on Embedded Computing Systems10.1145/347190420:6(1-36)Online publication date: 18-Oct-2021
      • (2020)Complexity vulnerability analysis using symbolic executionSoftware Testing, Verification and Reliability10.1002/stvr.171630:7-8Online publication date: 6-Feb-2020
      • (2019)GENEEProceedings of the 2nd Workshop on Benchmarking Cyber-Physical Systems and Internet of Things10.1145/3312480.3313170(1-6)Online publication date: 15-Apr-2019
      • (2019)Facilitating program performance profiling via evolutionary symbolic executionSoftware Testing, Verification and Reliability10.1002/stvr.171930:2Online publication date: 21-Nov-2019
      • (2018)Worst-Case Execution Time Testing via Evolutionary Symbolic Execution2018 IEEE 29th International Symposium on Software Reliability Engineering (ISSRE)10.1109/ISSRE.2018.00019(76-87)Online publication date: Oct-2018
      • (2017)Benchmark Generation for Timing Analysis2017 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS)10.1109/RTAS.2017.6(319-330)Online publication date: Apr-2017
      • (2017)SysWCET: Whole-System Response-Time Analysis for Fixed-Priority Real-Time Systems (Outstanding Paper)2017 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS)10.1109/RTAS.2017.37(37-48)Online publication date: Apr-2017
      • (2017)An End-to-End Toolchain: From Automated Cost Modeling to Static WCET and WCEC Analysis2017 IEEE 20th International Symposium on Real-Time Distributed Computing (ISORC)10.1109/ISORC.2017.10(158-167)Online publication date: May-2017
      • (2017)Symbolic Complexity Analysis Using Context-Preserving Histories2017 IEEE International Conference on Software Testing, Verification and Validation (ICST)10.1109/ICST.2017.13(58-68)Online publication date: Mar-2017
      • Show More Cited By

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media