Precise and efficient parametric path analysis

Hard real-time systems require tasks to finish in time. To guarantee the timeliness of such a system, static timing analyses derive upper bounds on the worst-case execution time (WCET) of tasks. There are two types of timing analyses: numeric and parametric. A numeric analysis derives a numeric timing bound and, to this end, assumes all information such as loop bounds to be given a priori. If these bounds are unknown during analysis time, a parametric analysis can compute a timing formula parametric in these variables. A performance bottleneck of timing analyses, numeric and especially parametric, is the so-called path analysis, which determines the path in the analyzed task with the longest execution time bound. In this paper, we present a new approach to path analysis. This approach exploits the often rather regular structure of software for hard real-time and safety-critical systems. As we show in the evaluation of this paper, we strongly improve upon former techniques in terms of precision and runtime in the parametric case. Even in the numeric case, the approach competes with state-of-the-art techniques and may be an alternative to commercial tools employed for path analysis.

[1]  Alan Burns,et al.  Combining static worst-case timing analysis and program proof , 1996, Real-Time Systems.

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

[3]  Guillem Bernat,et al.  An Approach to Symbolic Worst-Case Execution Time Analysis , 2000 .

[4]  Nesa L'abbe Wu,et al.  Linear programming and extensions , 1981 .

[5]  David B. Whalley,et al.  Parametric Timing Analysis , 2001, OM '01.

[6]  Peter P. Puschner,et al.  Calculating the maximum execution time of real-time programs , 1989, Real-Time Systems.

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

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

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

[10]  David B. Whalley,et al.  Generalizing parametric timing analysis , 2007, LCTES '07.

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

[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]  Ernst Althaus,et al.  A New Combinatorial Approach to Parametric Path Analysis , 2010 .

[14]  Reinhold Heckmann,et al.  Worst case execution time prediction by static program analysis , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..