WCET Analysis of Component-Based Systems Using Timing Traces

Construction of a Real-Time System (RTS) out of a number of pre-fabricated pieces of software, otherwise known as components, is a pervasive area of interest. Typically, only relocatable object code of the component is shipped to the customer, so that it can later be linked into the overall application. Source code is therefore withheld, and disassembling of the object code is normally disallowed to protect intellectual property. Both of these restrictions complicate, or even prevent, state-of-the-art Worst-Case Execution Time (WCET) analysis of the RTS since most techniques are grounded on their availability in order to generate a complete program model. The alternative solution -- widespread in industrial circles -- is to record the largest end-to-end execution time of the RTS under functional testing, but this underestimates the actual WCET, in the general case. This paper shows how to obtain a safer WCET estimate of a RTS composed of components using time-stamped traces of program execution. In effect, the data needed in the WCET computation (program model, execution times, execution bounds) are derived exclusively from parsing of the traces. Experiments indicate that, once simple coverage metrics have been obtained, the calculated WCET estimate bounds the actual WCET. Moreover, where instrumentation (which produces the time-stamped traces) is placed with respect to program structure has a significant bearing on the accuracy of the computed WCET estimate.

[1]  Guillem Bernat,et al.  Towards Predicated WCET Analysis , 2008, WCET.

[2]  Nicky Williams WCET measurement using modified path testing , 2007 .

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

[4]  Frank Lüders,et al.  Using Software Component Models and Services in Embedded Real-Time Systems , 2007, 2007 40th Annual Hawaii International Conference on System Sciences (HICSS'07).

[5]  Alan C. Shaw,et al.  Experiments with a program timing tool based on source-level timing schema , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

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

[7]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[8]  Alan Burns,et al.  Probabilistic timing analysis: An approach using copulas , 2005, J. Embed. Comput..

[9]  Vugranam C. Sreedhar,et al.  Efficient program analysis using DJ graphs , 1996 .

[10]  G. Ramalingam,et al.  On loops, dominators, and dominance frontier , 2000, PLDI '00.

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

[12]  Jakob Engblom,et al.  Efficient longest executable path search for programs with complex flows and pipeline effects , 2001, CASES '01.

[13]  Adam Betts,et al.  Hybrid measurement-based WCET analysis using instrumentation point graphs , 2008 .

[14]  Stefan M. Petters,et al.  Experimental evaluation of code properties for WCET analysis , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[15]  G. Ramalingam,et al.  Identifying loops in almost linear time , 1999, TOPL.

[16]  Hong Zhu,et al.  Software unit test coverage and adequacy , 1997, ACM Comput. Surv..

[17]  Steven S. Muchnick,et al.  Advanced Compiler Design and Implementation , 1997 .

[18]  G. Ramalingam,et al.  On loops, dominators, and dominance frontiers , 2002, TOPL.

[19]  Steven P. Miller,et al.  Applicability of modified condition/decision coverage to software testing , 1994, Softw. Eng. J..

[20]  Jan Gustafsson,et al.  Deriving the Worst-Case Execution Time Input Values , 2009, 2009 21st Euromicro Conference on Real-Time Systems.

[21]  Jeffrey K. Hollingsworth,et al.  Efficient instrumentation for code coverage testing , 2002, ISSTA '02.

[22]  Matthias Grochtmann,et al.  Verifying Timing Constraints of Real-Time Systems by Means of Evolutionary Testing , 1998, Real-Time Systems.

[23]  Todd M. Austin,et al.  The SimpleScalar tool set, version 2.0 , 1997, CARN.

[24]  Goldberg,et al.  Genetic algorithms , 1993, Robust Control Systems with Genetic Algorithms.

[25]  Joachim Wegener,et al.  A Comparison of Static Analysis and Evolutionary Testing for the Verification of Timing Constraints , 1998, Proceedings. Fourth IEEE Real-Time Technology and Applications Symposium (Cat. No.98TB100245).

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

[27]  Bruno Marre,et al.  PathCrawler: Automatic Generation of Path Tests by Combining Static and Dynamic Analysis , 2005, EDCC.

[28]  Joachim Wegener,et al.  A Comparison of Static Analysis and Evolutionary Testing for the Verification of Timing Constraints , 2004, Real-Time Systems.

[29]  Guillem Bernat,et al.  Predicated Worst-Case Execution-Time Analysis , 2009, Ada-Europe.

[30]  Iain Bate,et al.  WCET analysis of modern processors using multi-criteria optimisation , 2009, 2009 1st International Symposium on Search Based Software Engineering.