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 certification evidence for this objective.
2.
It has a qualification package that complies with the requirements of 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 only requires the executable object code to perform the analysis, although if the source code is provided, it is included in the result along with the generated assembler 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 calculating the execution time.
7.
It allows you to graphically compare the result of different executions of the tool to monitor the evolution of the WCET.
8.
It can be used with code generators from modeling tools and with system-level planning tools through 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 Families and 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)
• 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
