Improving WCET Evaluation using Linear Relation Analysis

The precision of a worst case execution time (WCET) evaluation tool on a given program is highly dependent on how the tool is able to detect and discard semantically infeasible executions of the program. In this paper, we propose to use the classical abstract interpretation-based method of linear relation analysis to discover and exploit relations between execution paths. For this purpose, we add auxiliary variables (counters) to the program to trace its execution paths. The results are easily incorporated in the classical workflow of a WCET evaluator, when the evaluator is based on the popular implicit path enumeration technique. We use existing tools - a WCET evaluator and a linear relation analyzer - to build and experiment a prototype implementation of this idea.

[1]  Nicolas Halbwachs,et al.  Automatic discovery of linear restraints among variables of a program , 1978, POPL.

[2]  Sun Ding,et al.  A Survey of Infeasible Path Detection , 2012, ENASE.

[3]  Björn Lisper SWEET - A Tool for WCET Flow Analysis (Extended Abstract) , 2014, ISoLA.

[4]  Xianfeng Li,et al.  Chronos: A timing analyzer for embedded software , 2007, Sci. Comput. Program..

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

[6]  Pascal Sainrat,et al.  OTAWA: An Open Toolbox for Adaptive WCET Analysis , 2010, SEUS.

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

[8]  Jan Gustafsson,et al.  The Mälardalen WCET Benchmarks: Past, Present And Future , 2010, WCET.

[9]  Björn Lisper,et al.  An Efficient Algorithm for Parametric WCET Calculation , 2009, 2009 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[10]  Armelle Bonenfant,et al.  Identifying Relevant Parameters to Improve WCET Analysis , 2014, WCET.

[11]  Ting Chen,et al.  Efficient detection and exploitation of infeasible paths for software timing analysis , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[12]  Hugues Cassé,et al.  Using SMT Solving for the Lookup of Infeasible Paths in Binary Programs , 2015, WCET.

[13]  Vikram S. Adve,et al.  LLVM: a compilation framework for lifelong program analysis & transformation , 2004, International Symposium on Code Generation and Optimization, 2004. CGO 2004..

[14]  Pierre Jouvelot,et al.  Semantical interprocedural parallelization: an overview of the PIPS project , 1991 .

[15]  Nicolas Halbwachs,et al.  Verification of Real-Time Systems using Linear Relation Analysis , 1997, Formal Methods Syst. Des..

[16]  Bertrand Jeannet,et al.  Apron: A Library of Numerical Abstract Domains for Static Analysis , 2009, CAV.

[17]  Daniel Cordes,et al.  A Fast and Precise Static Loop Analysis Based on Abstract Interpretation, Program Slicing and Polytope Models , 2009, 2009 International Symposium on Code Generation and Optimization.

[18]  Paul Lokuciejewski,et al.  Worst-Case Execution Time Aware Compilation Techniques for Real-Time Systems , 2010 .

[19]  Joxan Jaffar,et al.  Precise Cache Timing Analysis via Symbolic Execution , 2016, 2016 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[20]  Gernot Heiser,et al.  Complete, High-Assurance Determination of Loop Bounds and Infeasible Paths for WCET Analysis , 2016, 2016 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[21]  Paul Feautrier,et al.  Accelerated Invariant Generation for C Programs with Aspic and C2fsm , 2010, Electron. Notes Theor. Comput. Sci..

[22]  Raimund Kirner,et al.  Transforming flow information during code optimization for timing analysis , 2010, Real-Time Systems.

[23]  Pascal Raymond,et al.  Timing analysis enhancement for synchronous program , 2013, RTNS '13.

[24]  David Monniaux,et al.  PAGAI: A Path Sensitive Static Analyser , 2012, Electron. Notes Theor. Comput. Sci..

[25]  Thomas W. Reps,et al.  Lookahead Widening , 2006, CAV.

[26]  Stephan Thesing,et al.  New Developments in WCET Analysis , 2006, Program Analysis and Compilation.

[27]  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).

[28]  Thomas W. Reps,et al.  WYSINWYX: What You See Is Not What You eXecute , 2005, VSTTE.