Você está na página 1de 12

Anlise de Programa

ENGENHARIA DE SOFTWARE UNIVERSIDADE FEDERAL DE UBERLNDIA GUILHERME HENRIQUE F. RIBEIRO MATEUS ALBERONE 2012

Introduo
A anlise de programa classificao segundo funcionalidade;
Participa das fases de implementao e verificao/validao do programa; Diferenas entre anlise esttica e anlise dinmica;

Programas usados para essas anlises;

Diferena entre anlise esttica e dinmica


Anlise esttica:
Ocorre sem que o programa seja executado; A anlise feita no cdigo fonte;

Anlise dinmica:
Ocorre durante a execuo do programa; Observa-se o comportamento do software de acordo com a execuo;

Requisitos do Projeto
Ferramenta que faa a anlise;

Conhecimento da linguagem em que o software est sendo desenvolvido;

Conhecimento sobre o funcionamento da ferramenta de anlise;

Arquitetura do Sistema
Ferramentas automticas para a vericao de cdigo;
Vericadores de estilo; Vericadores de erros;

Caractersticas do sistema
Ferramenta que verifica o cdigo do programa;
til quando se faz um reaproveitamento do sistema; Garantia de melhor qualidade do programa; Realiza testes no programa, afim de encontrar possveis erros; Atributos que a ferramenta de anlise esttica deve ter:
Consistente: em que todo erro real reportado pela anlise;

Completo: todo erro reportado real (sem alarmes falsos);


til: Se reporta erros com que algum se preocupa;

Funcionamento do sistema
Anlise esttica:
Deteco das declaraes e julgamento das mesmas;

Computao dos valores possveis para os dados do programa; Alertas sobre declaraes feitas em locais errados;

Anlise Dinmica:

Enquanto o programa executado essa ferramenta realiza algumas checagens:


falhas de dados; falhas de interface;

falhas de armazenamento;

Categorias de Defeito
1. Defeitos que ocasionam uma pane da aplicao;

2. Defeitos que causam uma falha lgica;

3. Defeitos com tratamento de erro insuciente;


4. Defeitos que violam os princpios da programao estruturada;

5. Defeitos que diminuem a manutenibilidade do cdigo;

Exemplos de Utilizao
FindBug:
Ferramenta livre; Trabalha sobre apenas uma linguagem; dena regras para vericao;

Klocwork Developer:
Ferramenta paga; Trabalha sobre mais de uma linguagem; Ferramenta completa;

Concluso:
A melhor forma de garantir a qualidade do software que voc constri projetando-o cuidadosamente desde o incio. Desta forma, as partes se encaixaro mais perfeitamente, e a funcionalidade de cada parte ser mais simples, de maneira que voc ir cometer menos erros ao implementar as vrias partes.

Os testes podem revelar a presena de erros, mas nunca sua ausncia. Edsger Dijkstra

Você também pode gostar