Deriving the Worst-Case Execution Time Input Values

Worst-Case Execution Time (WCET) analysis derives upper bounds for execution times of programs. Such bounds are crucial when designing and verifying real-time systems. A major problem with today’s WCET analysis approaches is that there is no feedback on the particular values of the input variables that cause the program’s WCET. However, this is important information for the real-time system developer.We present a novel approach to overcome this problem. In particular, we present a method, based on a combination of input sensitive static WCET analysis and systematic search over the value space of the input variables, to derive the input value combination that causes the WCET. We also present several different approaches to speed up the search. Our evaluations show that the WCET input values can be relatively quickly derived for many type of programs, even for program with large input value spaces. We also show that the WCET estimates derived using the WCET input values often are much tighter than the WCET estimates derived when all possible input value combinations are taken into account.

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

[2]  Stefan M. Petters Worst case execution time estimation for advanced processor architectures , 2002 .

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

[4]  Raimund Kirner,et al.  Automatic timing model generation by CFG partitioning and model checking , 2005, Design, Automation and Test in Europe.

[5]  Peter J. Stuckey,et al.  Programming with Constraints: An Introduction , 1998 .

[6]  Jan Gustafsson,et al.  Static WCET Analysis of Real-Time Task-Oriented Code in Vehicle Control Systems , 2006, Second International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (isola 2006).

[7]  Jan Gustafsson,et al.  Merging Techniques for Faster Derivation of WCET Flow Information using Abstract Execution , 2008, WCET.

[9]  Guillem Bernat,et al.  pWCET: a Tool for Probabilistic Worst-Case Execution Time Analysis of Real-Time Systems , 2003 .

[10]  Stephan Thesing,et al.  Safe and precise WCET determination by abstract interpretation of pipeline models , 2004 .

[11]  Thomas Nolte,et al.  Contract-Based ReusableWorst-Case Execution Time Estimate , 2007, 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2007).

[12]  Jakob Engblom,et al.  Clustered worst-case execution-time calculation , 2005, IEEE Transactions on Computers.

[13]  Jean-François Deverge,et al.  Safe measurement-based WCET estimation , 2005, WCET.

[14]  Jan Gustafsson,et al.  Evaluation of Automatic Flow Analysis for WCET Calculation on Industrial Real-Time System Code , 2008, 2008 Euromicro Conference on Real-Time Systems.

[15]  Jakob Engblom Static properties of commercial embedded real-time programs, and their implication for worst-case execution time analysis , 1999, Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium.

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

[17]  Reinhold Heckmann,et al.  Worst-Case Execution Time - A Tool Provider's Perspective , 2008, 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC).

[18]  Rolf Ernst,et al.  Timing and power measurement in static software analysis , 2002 .

[19]  Rolf Ernst,et al.  Context sensitive performance analysis of automotive applications , 2005, Design, Automation and Test in Europe.

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

[21]  Jan Gustafsson,et al.  Automatic Derivation of Loop Bounds and Infeasible Paths for WCET Analysis Using Abstract Execution , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[22]  Jan Reineke,et al.  Estimating the Performance of Cache Replacement Policies , 2008, 2008 6th ACM/IEEE International Conference on Formal Methods and Models for Co-Design.

[23]  Thomas Nolte,et al.  Clustering Worst-Case Execution Times for Software Components , 2007, WCET.

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