Segment Abstraction for Worst-Case Execution Time Analysis

In the standard framework for worst-case execution time (WCET) analysis of programs, the main data structure is a single instance of integer linear programming (ILP) that represents the whole program. The instance of this NP-hard problem must be solved to find an estimate for WCET, and it must be refined if the estimate is not tight. We propose a new framework for WCET analysis, based on abstract segment trees (ASTs) as the main data structure. The ASTs have two advantages. First, they allow computing WCET by solving a number of independent small ILP instances. Second, ASTs store more expressive constraints, thus enabling a more efficient and precise refinement procedure. In order to realize our framework algorithmically, we develop an algorithm for WCET estimation on ASTs, and we develop an interpolation-based counterexample-guided refinement scheme for ASTs. Furthermore, we extend our framework to obtain parametric estimates of WCET. We experimentally evaluate our approach on a set of examples from WCET benchmark suites and linear-algebra packages. We show that our analysis, with comparable effort, provides WCET estimates that in many cases significantly improve those computed by existing tools.

[1]  Björn Lisper,et al.  Towards an Automatic Parametric WCET Analysis , 2008, WCET.

[2]  Jens Knoop,et al.  r-TuBound: Loop Bounds for WCET Analysis (Tool Paper) , 2012, LPAR.

[3]  Raimund Kirner The WCET Analysis Tool CalcWcet167 , 2012, ISoLA.

[4]  Pavol Cerný,et al.  Security Evaluation of ES&S Voting Machines and Election Management System , 2008, EVT.

[5]  Joxan Jaffar,et al.  Symbolic simulation on complicated loops for WCET Path Analysis , 2011, 2011 Proceedings of the Ninth ACM International Conference on Embedded Software (EMSOFT).

[6]  Sumit Gulwani,et al.  The reachability-bound problem , 2010, PLDI '10.

[7]  Patrick Cousot,et al.  An abstract interpretation framework for termination , 2012, POPL '12.

[8]  Peter P. Puschner,et al.  Computing Maximum Task Execution Times — A Graph-Based Approach , 1997, Real-Time Systems.

[9]  Benedikt Huber,et al.  A Formal Framework for Precise Parametric WCET Formulas , 2012, WCET.

[10]  Abhik Roychoudhury,et al.  Scope-Aware Data Cache Analysis for WCET Estimation , 2011, 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium.

[11]  Pavol Cerný,et al.  Quantitative abstraction refinement , 2013, POPL.

[12]  Sebastian Altmeyer,et al.  Parametric Timing Analysis for Complex Architectures , 2008, 2008 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[13]  Gernot Heiser,et al.  Trickle: Automated infeasible path detection using all minimal unsatisfiable subsets , 2014, 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[14]  Pascal Sainrat,et al.  OTAWA: An Open Toolbox for Adaptive WCET Analysis , 2010, SEUS.

[15]  Sharad Malik,et al.  Performance Analysis of Embedded Software Using Implicit Path Enumeration , 1995, 32nd Design Automation Conference.

[16]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

[17]  Björn Lisper,et al.  An Efficient Algorithm for Parametric WCET Calculation , 2009, 2009 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[18]  Jens Knoop,et al.  WCET squeezing: on-demand feasibility refinement for proven precise WCET-bounds , 2013, RTNS '13.

[19]  Isil Dillig,et al.  Simplifying Loop Invariant Generation Using Splitter Predicates , 2011, CAV.