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 on 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 execution times as the source code is developed, avoiding last minute problems when the formal WCET calculation is done.
It also allows to visualize graphs of function calls and control flow. With the ValueAnalyzer plug-in, it is also possible to 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.
Nor is it necessary to perform a complex configuration. It is very easy to use from the beginning of the development and can be integrated in continuous integration environments, being able to obtain performance measurements in each construction of any part of the source code.
It is based on the exploration of all possible execution paths of a task or program and on 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 execution times as the source code is developed, avoiding last minute problems when the formal WCET calculation is done.
It also allows to visualize graphs of function calls and control flow. With the ValueAnalyzer plug-in, it is also possible to 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.
Nor is it necessary to perform a complex configuration. It is very easy to use from the beginning of the development and can be integrated in continuous integration environments, being able to obtain performance measurements in each construction 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