Static Binary Code Analysis Tools
Worst Case Execution Time (WCET) Calculation
Tool: aiT
What is it for?
1.
It calculates very precise WCET limits and can be used to generate evidence of certification of this objective.
2.
It has a qualification package as required by functional safety standards.
3.
It determines the execution path with the worst execution time and takes into account low-level aspects such as pipeline and cache of the particular processor being used. For this purpose, it uses the formal method "Abstract Interpretation" together with formal pipeline and cache models.
4.
It requires only the executable object code to perform the analysis, although if the source code is provided it is included in the output along with the generated assembly code.
5.
It calculates the execution time of each of the paths of a program or task and marks in red the critical path corresponding to the WCET.
6.
It uses annotation files relating to the processor architecture, clock frequency and other parameters required for the calculation of the execution time.
7.
It allows to graphically compare the result of different executions of the tool to monitor the evolution of the WCET.
8.
It can be used with modeling tool code generators and system-level planning tools via an XML-based API.
9.
However, current multi-core processors have a level of complexity that makes it difficult to analyze pipeline and cache effects in complex execution domains where different cores interact with each other. Inter-core interference cannot be formally modeled within aiT.
10.
For multi-core processors, the TimeWeaver tool is required.
Supported Processor and Compiler Families
- 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)
- 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
- Am486, IntelDX4
- i386DX
- C16x, ST10
- HCS 12
- C28X
- C33
- M68020, MCF5307