A Formally Verified WCET Estimation Tool

The application of formal methods in the development of safety-critical embedded software is recommended in order to provide strong guarantees about the absence of software errors. In this context, WCET estimation tools constitute an important element to be formally verified. We present a formally verified WCET estimation tool, integrated to the formally verified CompCert C compiler. Our tool comes with a machine-checked proof which ensures that its WCET estimates are safe. Our tool operates over C programs and is composed of two main parts, a loop bound estimation and an Implicit Path Enumeration Technique (IPET)-based WCET calculation method. We evaluated the precision of the WCET estimates on a reference benchmark and obtained results which are competitive with state-of-the-art WCET estimation techniques.

[1]  Nicholas Ayache,et al.  Certified Complexity , 2011, FET.

[2]  Jan Gustafsson,et al.  Loop Bound Analysis based on a Combination of Program Slicing, Abstract Interpretation, and Invariant Analysis , 2007, WCET.

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

[4]  David Pichardie,et al.  Certified Result Checking for Polyhedral Analysis of Bytecode Programs , 2010, TGC.

[5]  George C. Necula,et al.  Translation validation for an optimizing compiler , 2000, PLDI '00.

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

[7]  Pascal Sainrat,et al.  Static Loop Bound Analysis of C Programs Based on Flow Analysis and Abstract Interpretation , 2008, 2008 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[8]  David Pichardie,et al.  Formal Verification of Loop Bound Estimation for WCET Analysis , 2013, VSTTE.

[9]  Xavier Leroy,et al.  Formal verification of a realistic compiler , 2009, CACM.

[10]  David Pichardie,et al.  Formal Verification of a C Value Analysis Based on Abstract Interpretation , 2013, SAS.

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

[12]  Reinhold Heckmann,et al.  Worst case execution time prediction by static program analysis , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

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