Static Binary Code Analysis Tools

Worst Case Execution Time (WCET) Calculation

Tool: TimingProfiler

This tool allows to obtain an approximate WCET during the initial phases of software development exclusively by static analysis of the binary code.

It is based on the exploration of all possible execution paths of a task or program and an approximate calculation of instruction execution times for that processor architecture.

The margin of error of the WCET calculation is too large to be considered as evidence of certification of this objective, but it allows to determine at the beginning the critical points of execution and the bottlenecks in terms of performance at the task level.

This allows to monitor the execution times as the source code is developed, avoiding last minute problems when doing the formal WCET calculation.

It also allows you to visualize graphs of function calls and flow control. With the ValueAnalyzer plug-in, you can also monitor the use of variables (reads and writes).

All this functionality is provided without the need to have the development board, nor to perform any code instrumentation.

No complex configuration is required. It is very easy to use from the beginning of development and can be integrated into continuous integration environments, being able to obtain performance measurements on each build of any part of the source code.

Processor families and supported compilers

  • ARM Compiler
  • GCC Compiler
  • Diab C or Ada
  • Green Hills C/C++ or Ada
  • IAR
  • Keil ARM
  • HighTec LLVM/Clang
  • Tasking
  • Texas Instruments
  • CompCert (INRIA, AbsInt)
  • Diab C
  • Green Hills C/C
  • GCC Compiler
  • Diab C
  • Green Hills C/C++ or Ada
  • HighTec GCC
  • Tasking
  • Code Warrior Compiler
  • GCC Compiler
  • GNAT Pro C++ or Ada
  • Diab C or Ada
  • Green Hills C/C++ or Ada
  • HighTec GCC
  • Keil ARM
  • CompCert (INRIA, AbsInt)

Other processors

  • ERC32
  • Leon2, Leon3/4
  • x86
  • MIPS32
  • Nios II
  • Renesas RX, SuperH
  • C16x, ST10
  • C28x
  • C33
  • dsPIC33E
  • FR81S
  • HCS 12
  • M68K
  • x86
  • MCS 51
  • MCS 251
  • MSP430
  • S12Z

Subscribe to our newsletter