Algorithms for Infeasible Path Calculation

Static Worst-Case Execution Time (WCET) analysis is a technique to derive upper bounds for the execution times of programs. Such bounds are crucial when designing and verifying real-time systems. One key component in static WCET analysis is to derive flow information, such as loop bounds and infeasible paths for the analysed program. Such flow information can be provided as either as annotations by the user, can be automatically calculated by a flow analysis, or by a combination of both. To make the analysis as simple, automatic and safe as possible, this flow information should be calculated automatically with no or very limited user interaction. In this paper we present three novel algorithms to calculate infeasible paths. The algorithms are all designed to be simple and efficient, both in terms of generated flow facts and in analysis running time. The algorithms have been implemented and tested for a set of WCET benchmarks programs.

[1]  Jakob Engblom,et al.  Processor Pipelines and Static Worst-Case Execution Time Analysis , 2002 .

[2]  Thomas Lundqvist,et al.  A WCET Analysis Method for Pipelined Microprocessors with Cache Memories , 2002 .

[3]  Yanhong A. Liu,et al.  Automatic Accurate Time-Bound Analysis for High-Level Languages , 1998, LCTES.

[4]  Apostolos A. Kountouris Safe and efficient elimination of infeasible execution paths in WCET estimation , 1996, Proceedings of 3rd International Workshop on Real-Time Computing Systems and Applications.

[5]  Patrick Cousot,et al.  Design and Implementation of a Special-Purpose Static Program Analyzer for Safety-Critical Real-Time Embedded Software , 2002, The Essence of Computation.

[6]  Peter Altenbernd,et al.  On the false path problem in hard real-time programs , 1996, Proceedings of the Eighth Euromicro Workshop on Real-Time Systems.

[7]  Andreas Ermedahl,et al.  A Modular Tool Architecture for Worst-Case Execution Time Analysis , 2008 .

[8]  Jan Gustafsson,et al.  Towards a flow analysis for embedded system C programs , 2005, 10th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems.

[9]  Alexander P. Pons,et al.  Tighten the computation of worst-case execution-time by detecting feasible paths , 2000, Conference Proceedings of the 2000 IEEE International Performance, Computing, and Communications Conference (Cat. No.00CH37086).

[10]  Daniel Sehlberg Static WCET Analysis of Task-Oriented Code for Construction Vehicles , 2005 .

[11]  Ting Chen,et al.  Exploiting Branch Constraints without Exhaustive Path Enumeration , 2005, WCET.

[12]  Jan Gustafsson Analyzing execution-time of object-oriented programs using abstract interpretation , 2000 .

[13]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[14]  David B. Whalley,et al.  Tighter timing predictions by automatic detection and exploitation of value-dependent constraints , 1999, Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium.

[15]  Jan Gustafsson,et al.  Experiences from Industrial WCET Analysis Case Studies , 2005, WCET.

[16]  David A. Schmidt,et al.  The essence of computation: complexity, analysis, transformation , 2002 .