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

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

Ferramenta: TimingProfiler

Esta ferramenta permite obter um WCET aproximado durante as fases iniciais do desenvolvimento de software exclusivamente através da análise estática do código binário.

Baseia-se na exploração de todos os caminhos de execução possíveis para uma tarefa ou programa e num cálculo aproximado dos tempos de execução das instruções para essa arquitetura de processador.

A margem de erro do cálculo do WCET é demasiado grande para ser considerada como prova de certificação deste objetivo, mas permite identificar, à partida, os pontos críticos de desempenho e os estrangulamentos de desempenho ao nível da tarefa.

Isto permite que os tempos de execução sejam monitorizados à medida que o código fonte é desenvolvido, evitando problemas de última hora ao efetuar o cálculo formal do WCET.

Também permite apresentar gráficos de chamadas de função e controlo de fluxo. Com o plug-in ValueAnalyzer, também é possível monitorizar a utilização de variáveis (leituras e escritas).

Toda esta funcionalidade é fornecida sem a necessidade da placa de desenvolvimento ou de qualquer ferramenta de código.

Também não há necessidade de configurações complexas. É muito fácil de utilizar desde o início do desenvolvimento e pode ser integrado em ambientes de integração contínua, sendo possível obter medições de desempenho em cada compilação de qualquer parte do código-fonte.

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
  • Leão2, Leão3/4
  • x86
  • MIPS32
  • Nios II
  • Renesas RX, SuperH
  • C16x, ST10
  • C28x
  • C33
  • dsPIC33E
  • FR81S
  • HCS 12
  • M68K
  • x86
  • MCS 51
  • MCS 251
  • MSP430
  • S12Z

Subscrever a nossa newsletter