WCET analysis methods: Pitfalls and challenges on their trustworthiness

In the last three decades a number of methods have been devised to find upper-bounds for the execution time of critical tasks in time-critical systems. Most of such methods aim to compute Worst-Case Execution Time (WCET) estimates, which can be used as trustworthy upper-bounds for the execution time that the analysed programs will ever take during operation. The range of analysis approaches used include static, measurement-based and probabilistic methods, as well as hybrid combinations of them. Each of those approaches delivers its results on the assumption that certain hypotheses hold on the timing behaviour of the system as well that the user is able to provide the needed input information. Often enough the trustworthiness of those methods is only adjudged on the basis of the soundness of the method itself. However, trustworthiness rests a great deal also on the viability of the assumptions that the method makes on the system and on the user's ability, and on the extent to which those assumptions hold in practice. This paper discusses the hypotheses on which the major state-of-the-art timing analyses methods rely, identifying pitfalls and challenges that cause uncertainty and reduce confidence on the computed WCET estimates. While identifying weaknesses, this paper does not wish to discredit any method but rather to increase awareness on their limitations and enable an informed selection of the technique that best fits the user needs.

[1]  Tullio Vardanega,et al.  ON THE INDUSTRIAL FITNESS OF WCET ANALYSIS , 2011 .

[2]  Liliana Cucu-Grosjean,et al.  PROARTIS: Probabilistically Analyzable Real-Time Systems , 2013, TECS.

[3]  Liliana Cucu-Grosjean,et al.  Measurement-Based Probabilistic Timing Analysis for Multi-path Programs , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[4]  Isabelle Puaut,et al.  Traceability of Flow Information: Reconciling Compiler Optimizations and WCET Estimation , 2014, RTNS.

[5]  Francisco J. Cazorla,et al.  Assessing the suitability of the NGMP multi-core processor in the space domain , 2012, EMSOFT '12.

[6]  Petru Eles,et al.  Bus Access Optimization for Predictable Implementation of Real-Time Applications on Multiprocessor Systems-on-Chip , 2007, 28th IEEE International Real-Time Systems Symposium (RTSS 2007).

[7]  Francisco J. Cazorla,et al.  Multi-level Unified Caches for Probabilistically Time Analysable Real-Time Systems , 2013, 2013 IEEE 34th Real-Time Systems Symposium.

[8]  Liliana Cucu-Grosjean,et al.  PROARTIS: Probabilistically Analysable Real-Time Systems , 2012 .

[9]  Raimund Kirner,et al.  Classification of WCET analysis techniques , 2005, Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'05).

[10]  Francisco J. Cazorla,et al.  Time-analysable non-partitioned shared caches for real-time multicore systems , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[11]  Peter Marwedel,et al.  A Unified WCET Analysis Framework for Multi-core Platforms , 2012, 2012 IEEE 18th Real Time and Embedded Technology and Applications Symposium.

[12]  Gabriel A. Moreno,et al.  Statistical-Based WCET Estimation and Validation , 2009, WCET.

[13]  Anthony Rowe,et al.  FireFly Mosaic: A Vision-Enabled Wireless Sensor Networking System , 2007, RTSS 2007.

[14]  Francisco J. Cazorla,et al.  Deconstructing bus access control policies for Real-Time multicores , 2013, 2013 8th IEEE International Symposium on Industrial Embedded Systems (SIES).

[15]  Liliana Cucu-Grosjean,et al.  Measurement-based probabilistic timing analysis: Lessons from an integrated-modular avionics case study , 2013, 2013 8th IEEE International Symposium on Industrial Embedded Systems (SIES).

[16]  Reinhold Heckmann,et al.  Computing the Worst Case Execution Time of an Avionics Program by Abstract Interpretation , 2007 .

[17]  Francisco J. Cazorla,et al.  Probabilistic timing analysis on conventional cache designs , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[18]  Peter Marwedel,et al.  A Unified WCET Analysis Framework for Multi-core Platforms , 2012, IEEE Real-Time and Embedded Technology and Applications Symposium.

[19]  Jan Reineke Randomized Caches Considered Harmful in Hard Real-Time Systems , 2014, Leibniz Trans. Embed. Syst..

[20]  Francisco J. Cazorla,et al.  Hardware support for WCET analysis of hard real-time multicore systems , 2009, ISCA '09.

[21]  Tullio Vardanega,et al.  Upper-bounding Program Execution Time with Extreme Value Theory , 2013, WCET.

[22]  Hoyt Lougee,et al.  SOFTWARE CONSIDERATIONS IN AIRBORNE SYSTEMS AND EQUIPMENT CERTIFICATION , 2001 .

[23]  D. Siewiorek,et al.  FAULT-TOLERANT ARCHITECTURES FOR SPACE AND AVIONICS APPLICATIONS , 2005 .

[24]  Wei Zhang,et al.  WCET Analysis for Multi-Core Processors with Shared L2 Instruction Caches , 2008, 2008 IEEE Real-Time and Embedded Technology and Applications Symposium.

[25]  Tullio Vardanega,et al.  Supporting industrial use of probabilistic timing analysis with explicit argumentation , 2013, 2013 11th IEEE International Conference on Industrial Informatics (INDIN).

[26]  Henrik Theiling,et al.  Multi-core Interference-Sensitive WCET Analysis Leveraging Runtime Resource Capacity Enforcement , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[27]  Michael Paulitsch,et al.  Leveraging Multi-core Computing Architectures in Avionics , 2012, 2012 Ninth European Dependable Computing Conference.

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

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

[30]  Francisco J. Cazorla,et al.  Using Randomized Caches in Probabilistic Real-Time Systems , 2009, 2009 21st Euromicro Conference on Real-Time Systems.

[31]  Francisco J. Cazorla,et al.  Bus designs for time-probabilistic multicore processors , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

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

[33]  Anne Marsden,et al.  International Organization for Standardization , 2014 .

[34]  Francisco J. Cazorla,et al.  PUB: Path Upper-Bounding for Measurement-Based Probabilistic Timing Analysis , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[35]  Robert I. Davis,et al.  On the correctness, optimality and precision of Static Probabilistic Timing Analysis , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[36]  Peter Marwedel,et al.  Static analysis of multi-core TDMA resource arbitration delays , 2013, Real-Time Systems.