Symbolic Worst Case Execution Times

In immediate or hard real-time systems the correctness of an operation depends not only upon its logical correctness, but also on the time in which it is computed. In such systems, it is imperative that operations are performed within a given deadline because missing this deadline constitutes the failure of the complete system. Such systems include medical systems, flight control systems and other systems whose failure in responding punctually results in a high economical loss or even in the loss of human lives. These systems are usually analyzed in a sequence of steps in which first, a socalled control flow graph (CFG) is constructed that represents possible program flows. Furthermore, bounds on the time necessary to execute small code blocks are computed along with bounds on the number of possible executions of the program loops. Depending on the type of the analysis, these loop bounds can either be numerical values or symbolic variables, corresponding to inputs given for instance by a user or by sensors. In the last step, in such a CFG the weight of a longest path with respect to the loop bounds is computed, reflecting a bound on the worst case execution time. In this paper, we will show how to compute such symbolic longest path weights in CFGs of software with a rather regular structure like software developed for hard real-time systems. We will present the first algorithm that is capable of computing such paths in time polynomial in the size of both the input and the output. Our approach replaces the application of integer linear programming solvers in the case of purely numerical loop bounds. Furthermore, it improves upon the speed and accuracy of existing approaches in the case of symbolic bounds.

[1]  Lili Tan,et al.  The worst-case execution time tool challenge 2006 , 2006, Second International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (isola 2006).

[2]  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.

[3]  Ralph E. Gomory,et al.  An algorithm for integer solutions to linear programs , 1958 .

[4]  Jan Gustafsson,et al.  WCET 2008 - Report from the Tool Challenge 2008 -- 8th Intl. Workshop on Worst-Case Execution Time (WCET) Analysis , 2008, WCET.

[5]  Philip Wolfe,et al.  Recent Advances in Mathematical Programming , 2011 .

[6]  Ernst Althaus,et al.  Precise and efficient parametric path analysis , 2011, LCTES '11.

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

[8]  Reinhard Wilhelm,et al.  4th Intl WORKSHOP ON WORST-CASE EXECUTION TIME (WCET) ANALYSIS , 2004 .

[9]  Sharad Malik,et al.  Performance analysis of embedded software using implicit path enumeration , 1997, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[10]  Henrik Theiling ILP-Based Interprocedural Path Analysis , 2002, EMSOFT.

[11]  George B. Dantzig,et al.  Linear programming and extensions , 1965 .

[12]  Alan D. George,et al.  RapidIO for radar processing in advanced space systems , 2007, TECS.

[13]  Ernst Althaus,et al.  A New Combinatorial Approach to Parametric Path Analysis , 2010 .

[14]  Björn Lisper,et al.  Fully Automatic, Parametric Worst-Case Execution Time Analysis , 2003, WCET.