Timing analysis

WCET analysis of object code with zero instrumentation

Worst-case execution time (WCET) analysis is critical for the verification of safety-critical real-time embedded systems. This analysis is typically performed by instrumenting source code and obtaining timing data from an instrumented build.
Read More

What happened first? Handling timer wraparound

Suppose you had to determine which of two timestamps occurred first. Clearly the “obvious“ approach is to use a simple numerical comparison, for example:
Read More

Conditional code without branches

The difficulty of showing that real-time software safely executes within an allotted time budget arises from the variability of code execution time. Some of this variation arises from hardware effects but a great deal arises from different paths through software. We can reduce and even eliminate this variation at the expense of increased code size and average-case performance.
Read More

Software randomization of execution times for avionic systems

Among the wide range of research work we've done during the past, one of the "most blue sky" areas has been in the area of probabilistic timing analysis (PTA), where specific hardware support randomizes sources of execution time variability, making it possible to produce accurate statistical predictions of worst- case execution probabilities, see: http://www.rapitasystems.com/about/research-projects/proxima-probabilist..., and
Read More