Certifying Execution Time

In this paper we present the framework Abstraction-Carrying CodE Platform for Timing validation (ACCEPT), designed for timing analysis of embedded real-time systems using the worst-case execution time (WCET) as the safety parameter. In the context of real-time embedded code safety, we describe in detail the component responsible for generating and checking the WCET certificates. In particular, the checking mechanism is efficiently designed so that code consumers can autonomously verify that the received code meet theirs internal real-time requirements. The certificate generation/checking mechanism is inspired in the Abstraction-Carrying Code framework and implemented using Abstract Interpretation and Linear Programming.

[1]  Mário Florido,et al.  A Functional Approach to Worst-Case Execution Time Analysis , 2011, WFLP.

[2]  Nuno Miguel Pires Gaspar,et al.  Timing Analysis: From Predictions to Certificates , 2010 .

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

[4]  Stephan Thesing,et al.  Safe and precise WCET determination by abstract interpretation of pipeline models , 2004 .

[5]  I. H. Öğüş,et al.  NATO ASI Series , 1997 .

[6]  Jan Reineke,et al.  Abstract Interpretation of FIFO Replacement , 2009, SAS.

[7]  Thomas A. Henzinger,et al.  A programmable microkernel for real-time systems , 2005, VEE '05.

[8]  Patrick Cousot Constructive design of a hierarchy of semantics of a transition system by abstract interpretation , 2002, Theor. Comput. Sci..

[9]  Hanne R. Nielson,et al.  Pragmatic Aspects of Two-Level Denotational Meta-Languages , 1986, ESOP.

[10]  Patrick Cousot,et al.  The calculational design of a generic abstract interpreter , 1999 .

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

[12]  Manuel V. Hermenegildo,et al.  Reduced Certificates for Abstraction-Carrying Code , 2006, ICLP.

[13]  Karl Crary,et al.  Resource bound certification , 2000, POPL '00.

[14]  Kurt Mehlhorn,et al.  Certifying algorithms , 2011, Comput. Sci. Rev..

[15]  François Bourdoncle,et al.  Efficient chaotic iteration strategies with widenings , 1993, Formal Methods in Programming and Their Applications.

[16]  Karl Crary,et al.  From system F to typed assembly language , 1999 .

[17]  Patrick Cousot,et al.  Abstract Interpretation Frameworks , 1992, J. Log. Comput..

[18]  Kousha Etessami,et al.  Analysis of Recursive Game Graphs Using Data Flow Equations , 2004, VMCAI.

[19]  Bernd Becker,et al.  A Definition and Classification of Timing Anomalies , 2006, WCET.

[20]  David Cachera,et al.  Certified Static Analysis by Abstract Interpretation , 2009, FOSAD.

[21]  Reinhard Wilhelm,et al.  Why AI + ILP Is Good for WCET, but MC Is Not, Nor ILP Alone , 2004, VMCAI.

[22]  George C. Necula,et al.  Proof-Carrying Code , 2011, Encyclopedia of Cryptography and Security.

[23]  Colin J. Fidge,et al.  A theory for execution-time derivation in real-time programs , 2005, Theor. Comput. Sci..

[24]  Manuel V. Hermenegildo,et al.  Certificate size reduction in abstraction-carrying code* , 2010, Theory and Practice of Logic Programming.

[25]  Frederick S. Hillier,et al.  Introduction of Operations Research , 1967 .

[26]  Plamen V. Petrov,et al.  Towards a Mobile Code Management Environment for Complex, Real-Time, Distributed Systems , 2001, Real-Time Systems.

[27]  Kim G. Larsen,et al.  METAMOC: Modular Execution Time Analysis using Model Checking , 2010, WCET.

[28]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[29]  Gary T. Leavens,et al.  The design of SafeJML, a specification language for SCJ with support for WCET specification , 2010, JTRES '10.

[30]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[31]  Sharad Malik,et al.  Cache modeling for real-time software: beyond direct mapped instruction caches , 1996, 17th IEEE Real-Time Systems Symposium.

[32]  Martin Hofmann,et al.  Static determination of quantitative resource usage for higher-order programs , 2010, POPL '10.

[33]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[34]  Karl Crary,et al.  Type Structure for Low-Level Programming Languages , 1999, ICALP.

[35]  Patrick Cousot,et al.  Constructive design of a hierarchy of semantics of a transition system by abstract interpretation , 2002, MFPS.

[36]  Martin Hofmann,et al.  Towards Formally Verifiable WCET Analysis for a Functional Programming Language , 2006, WCET.

[37]  Armelle Bonenfant,et al.  Worst-Case Execution Times for a Purely Functional Language , 2006, IFL.

[38]  Randal E. Bryant,et al.  Formal verification of an ARM processor , 1999, Proceedings Twelfth International Conference on VLSI Design. (Cat. No.PR00013).

[39]  Andy Wellings,et al.  A Safe Mobile Code Representation and Run-time Architecture for High Integrity Real-Time Java Programs , 2001, RTSS 2001.

[40]  F. S. Hillier,et al.  Introduction to Operations Research, 10th ed. , 1986 .

[41]  Reinhard Wilhelm,et al.  Abstract Interpretation with Applications to Timing Validation , 2008, CAV.

[42]  Andreas Ermedahl,et al.  A Modular Tool Architecture for Worst-Case Execution Time Analysis , 2008 .

[43]  Manfred Broy,et al.  Calculational system design , 1999 .

[44]  Henrik Theiling,et al.  Reliable and Precise WCET Determination for a Real-Life Processor , 2001, EMSOFT.

[45]  David Cachera,et al.  A Certified Denotational Abstract Interpreter , 2010, ITP.

[46]  Manuel V. Hermenegildo,et al.  An Abstract Interpretation-based Approach to Mobile Code Safety , 2005, COCV@ETAPS.

[47]  Raymond Klefstad,et al.  Interactive Back-annotation of Worst-case Execution Time Analysis for Java Microprocessors , 2007, 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2007).

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

[49]  Martin Hofmann,et al.  MOBIUS: Mobility, Ubiquity, Security , 2006, TGC.

[50]  Manfred Broy,et al.  Formal Methods in Programming and Their Applications , 1993, Lecture Notes in Computer Science.