Bringing Worst Case Execution Time Awareness to an Open Smart Card OS

Smart card platforms are migrating from restrictive proprietary environments to open multi-application infrastructures. Computing the worst case execution time of an embedded application while there is no way to make previous assumptions on the CPU configuration available on the smart card had to be faced differently. In this paper, an evaluation of a distributed WCET computation method is presented. A low-level analysis on an ARM7TDMI CPU core is also described. We explain how the global WCET of a dynamically loaded application is extracted. Experimental results show a small overestimation compared to the observed execution time for a PIN-based authentication applet. Hardware-dependent WCET computation can also take advantage of the typing information related to the intermediate language. Improvement in the performance evaluation is up to 81,22%.

[1]  Raimund Kirner,et al.  Measurement-Based Worst-Case Execution Time Analysis using Automatic Test-Data Generation ∗ , 2004 .

[2]  Iain Bate,et al.  Low-level analysis of a portable Java byte code WCET analysis framework , 2000, Proceedings Seventh International Conference on Real-Time Computing Systems and Applications.

[3]  David B. Whalley,et al.  Supporting Timing Analysis by Automatic Bounding of Loop Iterations , 2000, Real-Time Systems.

[4]  Dawson R. Engler,et al.  The exokernel operating system architecture , 1998 .

[5]  Aloysius K. Mok,et al.  Formal Specification and Verification of Resource Bound Security Using PVS , 2003, ISSS.

[6]  Sharad Malik,et al.  Performance estimation of embedded software with instruction cache modeling , 1999, TODE.

[7]  Damien Deville,et al.  Smart Card operating systems: Past Present and Future , 2003 .

[8]  Aloysius K. Mok,et al.  TINMAN: A Resource Bound Security Checking System for Mobile Code , 2002, ESORICS.

[9]  13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2007), 21-24 August 2007, Daegu, Korea , 2007, RTCSA.

[10]  Alan Burns,et al.  Portable worst-case execution time analysis using Java Byte Code , 2000, Proceedings 12th Euromicro Conference on Real-Time Systems. Euromicro RTS 2000.

[11]  Jean-Louis Lanet,et al.  FACADE: a typed intermediate language dedicated to smart cards , 1999, ESEC/FSE-7.

[12]  Per Stenström,et al.  An Integrated Path and Timing Analysis Method based on Cycle-Level Symbolic Execution , 1999, Real-Time Systems.