Sistemas embebidos

Análise estática de código
para sistemas embebidos

Com o Visao, encontre problemas no código antes de o software embebido chegar à integração com o hardware.

Analise o código-fonte, os caminhos de execução e as regras do projeto antes de começarem os testes no ambiente de destino.

Porque a análise estática é importante em sistemas embebidos

Depois de correr no hardware de destino, o software embebido fica muitas vezes bem mais difícil de inspecionar. Há pouca observabilidade, há restrições de tempo e há comportamento que depende do hardware. Por isso, algumas falhas custam caro a isolar depois da integração.

O Visao analisa o código-fonte antes dessa fase. Assim, os problemas no código e as violações das regras do projeto podem ser investigados antes de começarem os testes no dispositivo.

Desafios nos sistemas embebidos

Pouca observabilidade em execução

A depuração e a instrumentação podem ficar limitadas quando o software já corre no dispositivo de destino.

Forte ligação entre hardware e software

O comportamento do código pode depender de drivers, periféricos, do estado do dispositivo e de pressupostos sobre o hardware.

Restrições de tempo real

No software sensível ao tempo, compensa encontrar os problemas no código antes de começarem os testes em execução.

Defeitos detetados tarde

Os problemas encontrados só depois da integração com o hardware são, em geral, mais difíceis de isolar. O código e o comportamento do dispositivo têm de ser investigados em conjunto.

Visao

Onde entra o Visao no desenvolvimento embebido

O funcionamento da análise está explicado em análise estática de código. Aqui vê onde ela entra num projeto embebido.

1

Analisar antes da integração com o hardware

Visao

Analise o código-fonte embebido e as regras do projeto antes de pôr o software a funcionar no hardware de destino.

2

Investigar ocorrências concretas

Visao

Reveja ocorrências como uso inseguro da memória, transbordo de inteiro e violações das regras do projeto, no código que as originou.

3

Levar as ocorrências relevantes para os testes no dispositivo

Midair

Quando uma ocorrência precisa de validação em execução, mantenha-a ligada ao cenário de teste usado no dispositivo.

4

Comparar com as evidências de execução

TS Factory · Delta

O TS Factory pode voltar a correr o cenário relevante no dispositivo. O Delta fornece as evidências dessa execução.

Antes da integração com o hardware

Código-fonte → Ocorrência do Visao → Teste no dispositivo → Evidências de execução

Uma ocorrência estática pode ser o ponto de partida de um teste no dispositivo, em vez de acabar num relatório isolado.

O que muda num fluxo de trabalho embebido

•

Encontrar problemas antes da depuração no dispositivo

Investigue os problemas no código antes de se misturarem com o comportamento do hardware.

•

Aplicar verificações do projeto

Codifique as condições de falha e as restrições que importam no projeto embebido real.

•

Reduzir a depuração depois da integração

Comece os testes no hardware com as ocorrências do código já conhecidas e separadas do comportamento em execução.

•

Transformar ocorrências estáticas em hipóteses testáveis

Leve as ocorrências relevantes para o Midair. Confronte-as com execuções repetíveis no dispositivo e com evidências de execução.

Iniciar o seu piloto

Comece pela sua base de código embebida. Veja como as ocorrências do Visao seguem para os testes no dispositivo e para a investigação em execução no Midair.