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.
- C. Ballabriga, H. Cassé, C. Rochange, and P. Sainrat. OTAWA: an Open Toolbox for Adaptive WCET Analysis. In Proc. of IFIP Workshop -- SEUS, 2010. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- 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.Google Scholar
- M. Berkelaar, K. Eikland, and P. Notebaert. lp_solve P. Software, 2004. Available at http://lpsolve.sourceforge.net/5.5/.Google Scholar
- A. Biere, J. Knoop, L. Kovács, and J. Zwirchmayr. SmacC: A Retargetable Symbolic Execution Engine. In Proc. of ATVA, pages 482--486, 2013.Google ScholarCross Ref
- 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.Google Scholar
- 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. Google ScholarDigital Library
- F. Brandner and A. Jordan. Refinement of Worst-Case Execution Time Bounds by Graph Pruning. 2013. Under submission.Google Scholar
- 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. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- P. Cerny, T. Henzinger, and A. Radhakrishna. Quantitative Abstraction Refinement. In Proc. of POPL, pages 115--128, 2013. Google ScholarDigital Library
- E. M. Clarke, O. Grumberg, S. Jha, Y. Lu, and H. Veith. Counterexample-Guided Abstraction Refinement. In Proc. of CAV, pages 154--169, 2000. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- C. Cullmann and F. Martin. Data-flow based detection of loop bounds. In Proc. of WCET, 2007.Google Scholar
- 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. Google ScholarDigital Library
- J. Gustafsson. SWEET: SWEdish Execution Time tool. http://www.mrtc.mdh.se/projects/wcet/sweet.html, 2001.Google Scholar
- 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.Google Scholar
- 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. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- D. Kebbal and P. Sainrat. Combining Symbolic Execution and Path Enumeration in Worst-Case Execution Time Analysis. In Proc. of WCET, 2006.Google Scholar
- R. Kirner. The WCET Analysis Tool CalcWcet167. In Proc. of ISoLA, pages 158--172, 2012. Google ScholarDigital Library
- J. Knoop, L. Kovács, and J. Zwirchmayr. r-TuBound: Loop Bounds for WCET Analysis. In Proc. of LPAR, pages 435--444, 2012. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- S. S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers Inc., 1997. Google ScholarDigital Library
- F. Nielson, H. R. Nielson, and C. Hankin. Principles of Program Analysis. Springer-Verlag New York Inc., 1999. Google ScholarDigital Library
- P. P. Puschner and A. V. Schedl. Computing Maximum Task Execution Times -- A Graph-Based Approach. Real-Time Systems, 13(1):67--91, 1997. Google ScholarDigital Library
- S. S. Skiena. The Algorithm Design Manual. Springer Inc., 2nd edition, 2008. Google ScholarDigital Library
- I. Stein and F. Martin. Analysis of Path Exclusion at the Machine Code Level. In Proc. of WCET, 2007.Google Scholar
Index Terms
- WCET squeezing: on-demand feasibility refinement for proven precise WCET-bounds
Recommendations
A Survey of WCET Analysis of Real-Time Operating Systems
ICESS '09: Proceedings of the 2009 International Conference on Embedded Software and SystemsTiming correctness of hard real-time systems is guaranteed by schedulability analysis and worst-case execution time (WCET) analysis of programs. Traditional WCET analysis mainly deals with application programs and has achieved success in industry. ...
WCET Analysis of the mC/OS-II Real-Time Kernel
CSE '09: Proceedings of the 2009 International Conference on Computational Science and Engineering - Volume 02Worst-case execution time (WCET) analysis is one of the major tasks in timing validation of hard real-time systems. In complex systems with real-time operating systems (RTOS), the timing properties of the system are decided by both the applications and ...
Hardware support for WCET analysis of hard real-time multicore systems
ISCA '09: Proceedings of the 36th annual international symposium on Computer architectureThe increasing demand for new functionalities in current and future hard real-time embedded systems like automotive, avionics and space industries is driving an increase in the performance required in embedded processors. Multicore processors represent ...
Comments