From Trusted Annotations to Verified Knowledge

WCET analyzers commonly rely on user-provided annotations such as loop bounds, recursion depths, region- and program constants. This reliance on user-provided annotations has an important drawback. It introduces a Trusted Annotation Basis into WCET analysis without any guarantee that the user-provided annotations are safe, let alone sharp. Hence, safety and accuracy of a WCET analysis cannot be formally established. In this paper we propose a uniform approach, which reduces the trusted annotation base to a minimum, while simultaneously yielding sharper (tighter) time bounds. Fundamental to our approach is to apply model checking in concert with other more inexpensive program analysis techniques, and the coordinated application of two algorithms for Binary Tightening and Binary Widening, which control the application of the model checker and hence the computational costs of the approach. Though in this paper we focus on the control of model checking by Binary Tightening and Widening, this is embedded into a more general approach in which we apply an array of analysis methods of increasing power and computational complexity for proving or disproving relevant time bounds of a program. First practical experiences using the sample programs of the Malardalen benchmark suite demonstrate the usefulness of the overall approach. In fact, for most of these benchmarks we were able to empty the trusted annotation base completely, and to tighten the computed WCET considerably.

[1]  Jens Knoop,et al.  TuBound - A Conceptually New Tool for Worst-Case Execution Time Analysis , 2008, WCET.

[2]  Jan Gustafsson The WCET Tool Challenge 2006 , 2006 .

[3]  Markus Schordan Source-To-Source Analysis with SATIrE - an Example Revisited , 2008, Scalable Program Analysis.

[4]  Alexander Metzner,et al.  Why Model Checking Can Improve WCET Analysis , 2004, CAV.

[5]  Bernhard Rieder,et al.  Using model checking to derive loop bounds of general loops within ANSI-C applications for measurement based WCET analysis , 2008, 2008 International Workshop on Intelligent Solutions in Embedded Systems.

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

[7]  Daniel Kroening,et al.  A Tool for Checking ANSI-C Programs , 2004, TACAS.

[8]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[9]  Thomas W. Reps,et al.  Demand interprocedural dataflow analysis , 1995, SIGSOFT FSE.

[10]  F. Cazorla,et al.  20th International Workshop on Worst-Case Execution Time Analysis , 2010 .

[11]  Jens Knoop,et al.  Constraint solving for high-level WCET analysis , 2009, ArXiv.

[12]  Rajiv Gupta,et al.  A practical framework for demand-driven interprocedural data flow analysis , 1997, TOPL.

[13]  Bernhard Rieder,et al.  Measurement-based timing analysis of applications written in ANSI-C , 2009 .

[14]  Thomas A. Henzinger,et al.  The software model checker Blast , 2007, International Journal on Software Tools for Technology Transfer.

[15]  Guillem Bernat,et al.  WCET TOOL CHALLENGE 2008: REPORT , 2008 .