Ferramentas de análise estática de código binário

Cálculo do tempo de execução no pior dos casos (WCET)

Ferramenta: aiT

Para que serve?

1.

Calcula limites de WCET muito precisos e pode ser utilizado para gerar provas de certificação deste objetivo. 

2.

Dispõe de um pacote de qualificação, conforme exigido pelas normas de segurança funcional.

3.

Determina o caminho de execução com o pior tempo de execução e tem em conta aspectos de baixo nível, como o pipeline e a cache do processador específico utilizado. Para o efeito, utiliza o método formal"Interpretação abstrata" juntamente com modelos formais de pipeline e de cache.

4.

Requer apenas o código de objeto executável para realizar a análise, embora, se for fornecido código fonte, este seja incluído na saída juntamente com o código de montagem gerado.

5.

Calcula o tempo de execução de cada um dos caminhos de um programa ou tarefa e marca a vermelho o caminho crítico correspondente ao WCET.

6.

Utiliza ficheiros de anotação relativos à arquitetura do processador, frequência de relógio e outros parâmetros necessários para o cálculo do tempo de execução.

7.

Permite comparar graficamente o resultado de diferentes execuções da ferramenta para monitorizar a evolução do WCET.

8.

Pode ser utilizado com geradores de código de ferramentas de modelação e ferramentas de planeamento ao nível do sistema através de uma API baseada em XML.

9.

No entanto, os actuais processadores multi-core têm um nível de complexidade que dificulta a análise dos efeitos do pipeline e da cache em ambientes de execução complexos em que diferentes núcleos interagem entre si. A interferência entre núcleos não pode ser formalmente modelada no AiT.

10.

Para processadores multi-core, é necessária a ferramenta TimeWeaver.

Famílias de processadores e compiladores suportados

  • Compilador ARM
  • Compilador GCC
  • Diab C ou Ada
  • Green Hills C/C++ ou Ada
  • IAR
  • Keil ARM
  • HighTec LLVM/Clang
  • Atribuição de tarefas
  • Texas Instruments
  • CompCert (INRIA, AbsInt)
  • Diab C
  • Green Hills C/C
  • Compilador GCC
  • Diab C
  • Green Hills C/C++ ou Ada
  • HighTec GCC
  • Atribuição de tarefas
- Compilador Code Warrior
- Compilador GCC
- GNAT Pro C++ ou Ada
- Diab C ou Ada
- Green Hills C/C++ ou Ada
- HighTec GCC
- Keil ARM
- CompCert (INRIA, AbsInt)

Outros processadores

  • ERC32
  • Leon2, Leon3
  • Am486, IntelDX4
  • i386DX
  • C16x, ST10
  • HCS 12
  • C28X
  • C33
  • M68020, MCF5307, M68020, MCF5307

Subscrever a nossa newsletter