Calculating WCET estimates from timed traces

Real-time systems engineers face a daunting duty: they must ensure that each task in their system can always meet its deadline. To analyse schedulability they must know the worst-case execution time (WCET) of each task. However, determining exact WCETs is practically infeasible in cost-constrained industrial settings involving real-life code and COTS hardware. Static analysis tools that could yield sufficiently tight WCET bounds are often unavailable. As a result, interest in portable analysis approaches like measurement-based timing analysis is growing. We present an approach based on integer linear programming (ILP) for calculating a WCET estimate from a given database of timed execution traces. Unlike previous work, our method specifically aims at reducing overestimation, by means of an automatic classification of code executions into scenarios with differing worst-case behaviour. To ease the integration into existing analysis tool chains, our method is based on the implicit path enumeration technique. It can thus reuse flow facts from other analysis tools and produces ILP problems that can be solved by off-the-shelf solvers.

[1]  Jörn Schneider,et al.  Pipeline behavior prediction for superscalar processors by abstract interpretation , 1999, LCTES '99.

[2]  Per Stenström,et al.  An Integrated Path and Timing Analysis Method based on Cycle-Level Symbolic Execution , 1999, Real-Time Systems.

[3]  Reinhard Wilhelm,et al.  Cache Behavior Prediction by Abstract Interpretation , 1996, Sci. Comput. Program..

[4]  Friedhelm Stappert,et al.  Complete worst-case execution time analysis of straight-line hard real-time programs , 2000, J. Syst. Archit..

[5]  Sharad Malik,et al.  Efficient microarchitecture modeling and path analysis for real-time software , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[6]  Jakob Engblom,et al.  Pipeline timing analysis using a trace-driven simulator , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[7]  Isabelle Puaut,et al.  Worst Case Execution Time Analysis for a Processor with Branch Prediction , 2004, Real-Time Systems.

[8]  Edsger W. Dijkstra,et al.  Notes on structured programming , 1970 .

[9]  Helmut Veith,et al.  FShell: Systematic Test Case Generation for Dynamic Analysis and Measurement , 2008, CAV.

[10]  Greger Ottosson,et al.  Worst-case execution time analysis for modern hardware architectures , 1997 .

[11]  David Lorge Parnas,et al.  Scheduling Processes with Release Times, Deadlines, Precedence, and Exclusion Relations , 1990, IEEE Trans. Software Eng..

[12]  Alan C. Shaw,et al.  Reasoning About Time in Higher-Level Language Software , 1989, IEEE Trans. Software Eng..

[13]  Helmut Veith,et al.  An Introduction to Test Specification in FQL , 2010, Haifa Verification Conference.

[14]  Reinhard Wilhelm,et al.  An abstract interpretation-based timing validation of hard real-time avionics software , 2003, 2003 International Conference on Dependable Systems and Networks, 2003. Proceedings..

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

[16]  Stefan Stattelmann Precise measurement-based worst-case execution time estimation , 2009 .

[17]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

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

[19]  Sharad Malik,et al.  Cache modeling for real-time software: beyond direct mapped instruction caches , 1996, 17th IEEE Real-Time Systems Symposium.

[20]  Jan Gustafsson,et al.  WCET TOOL CHALLENGE 2011: REPORT , 2011, WCET 2011.

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

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

[23]  Peter P. Puschner A tool for high-level language analysis of worst-case execution times , 1998, Proceeding. 10th EUROMICRO Workshop on Real-Time Systems (Cat. No.98EX168).

[24]  Per Stenström,et al.  Integrating Path and Timing Analysis Using Instruction-Level Simulation Techniques , 1998, LCTES.

[25]  Guillem Bernat,et al.  WCET analysis of probabilistic hard real-time systems , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

[26]  Raimund Kirner,et al.  Let's get less optimistic in measurement-based timing analysis , 2011, 2011 6th IEEE International Symposium on Industrial and Embedded Systems.

[27]  Peter P. Puschner,et al.  A Tool for the Computation of Worst Case Task Execution Times , 1993, Fifth Euromicro Workshop on Real-Time Systems.

[28]  Guillem Bernat,et al.  pWCET, a Tool for Probabilistic WCET Analysis of Real-Time Systems , 2003, WCET.

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

[30]  Sharad Malik,et al.  Performance estimation of embedded software with instruction cache modeling , 1995, ICCAD.

[31]  Martin Schoeberl,et al.  JOP Reference Handbook: Building Embedded Systems with a Java Processor , 2009 .

[32]  Henrik Theiling,et al.  Combining abstract interpretation and ILP for microarchitecture modelling and program path analysis , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[33]  Raimund Kirner,et al.  Measurement-Based Timing Analysis , 2008, ISoLA.

[34]  B. Shneiderman,et al.  Flowchart techniques for structured programming , 1973, SIGP.

[35]  Alan Burns,et al.  Hard Real-Time Scheduling: The Deadline-Monotonic Approach , 1991 .

[36]  Raimund Kirner,et al.  Context-Sensitive Measurement-Based Worst-Case Execution Time Estimation , 2011, 2011 IEEE 17th International Conference on Embedded and Real-Time Computing Systems and Applications.