Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouElisa Calixto Alterado mais de 10 anos atrás
1
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE
CAMPUS NATAL-CENTRAL DIRETORIA DE EDUCAÇÃO E TECNOLOGIA DA INFORMAÇÃO Implementação do Siga-Pattern no SIGAEPCT-EDU através de Análise Estática de Código utilizando a Ferramenta FindBugs Plugin José Roberto de Melo Filho Orientadora: Prof.ª Ms. Marília Aranha Freire Co-orientador: Ms. Wanderson Câmara dos Santos 18 de julho de 2011
2
Sumário Introdução Análise Estática Arquitetura Eclipse Plugin
FindBugs
3
Sumário Padrões Criando um Detector do FindBugs Plugin para utilização no SIGA-EDU Conclusão
4
Introdução: Objetivos do Estudo e Implementação
O principal objetivo deste trabalho consiste na criação de um detector utilizando a Análise Estática em conjunto com a ferramenta FindBugs Plugin e como esse detector pode ajudar no processo de desenvolvimento do sistema SIGA- EDU.
5
Introdução: Motivação para a criação do detector
Necessidade para a equipe de desenvolvimento do SIGA-EDU a agilidade no processo de verificação e validação. Ferramenta Open-Source. O QUE É O SIGA-EDU QUEM MANTÉM
6
Introdução: Motivação para a criação do detector
Ótimo desempenho da ferramenta na detecção de falhas no sistema. Fácil integração do FindBugs com as ferramentas utilizadas no desenvolvimento do sistema.
7
Análise Estática Processo realizado por uma ferramenta em um programa sem necessidade de execução do mesmo. Análise em Código Fonte versus Código Compilado. FALAR SOBRE AS COMPARAÇÕES COM equals() CODIGO-FONTE ANÁLISE DOS BUGS ESTÁ EM CONFORMIDADE CÓDIGO CODIGO-COMPILADO MAIS RÁPIDO
8
Análise Estática Falsos Positivos & Falsos Negativos Penalidades
Ferramentas de análise estática FindBugs X outras ferramentas
9
Eclipse IDE Histórico da plataforma
Plataforma para a integração de ferramentas de desenvolvimento. Independência de Sistema Operacional.
10
FindBugs Ferramenta de Análise Estática
Utiliza a biblioteca BCEL para verificar o bytecode. Formado por duas partes: Engine e Front-ends Engine: Núcleo da ferramenta Front-ends: Subdividem em Task para ANT, Plugin para Eclipse e aplicação stand-alone.
11
Padrões Evita a utilização de técnicas não-orientadas a objetos.
Bug Patterns são padrões de comportamentos errôneos Detectores de Bug Patterns Bug-patterns agrupam-se em categorias. São identificados por pequenos códigos no arquivo findbugs.xml.
12
Criando um Detector do FindBugs Plugin para utilização no SIGA-EDU
Situação Classes “EJB” Classes “DAO”
13
Criando um Detector do FindBugs Plugin para utilização no SIGA-EDU
Ambiente de desenvolvimento Java JDK com variáveis de ambiente configuradas JDK 1.5 ou mais nova Eclipse Galileo 3.5.0 FindBugs source qualifier
14
Criando um Detector do FindBugs Plugin para utilização no SIGA-EDU
Configurando o FindBugs Plugin findbugs.xml messages.xml SIGADetector.java
15
Criando um Detector do FindBugs Plugin para utilização no SIGA-EDU
Configurando o FindBugs Plugin findbugs.xml Configuração da classe do detector Tag <Detector> Instancia todos os detectores definidos por essa tag Tag <BugPattern> Especifica o tipo de bug que será retornado
16
Criando um Detector do FindBugs Plugin para utilização no SIGA-EDU
Configurando o FindBugs Plugin messages.xml Definição da nossa categoria: SIGAEDU
17
Criando um Detector do FindBugs Plugin para utilização no SIGA-EDU
Configurando o FindBugs Plugin messages.xml Definição do nosso detector no arquivo messages.xml
18
Criando um Detector do FindBugs Plugin para utilização no SIGA-EDU
Configurando o FindBugs Plugin messages.xml Definição das mensagens visíveis para os bug patterns identificados pelos conteúdos do atributo type.
19
Criando um Detector do FindBugs Plugin para utilização no SIGA-EDU
Implementando o SIGADetector.java Deve implementar a interface Detector e estender a superclasse PreorderVisitor Faz-se uma chamada à classe BugReporter no construtor Declara o método visitClassContext(ClassContext)
20
Criando um Detector do FindBugs Plugin para utilização no SIGA-EDU
Implementando o SIGADetector.java Criamos dois métodos auxiliares, getLastName() e o isMesmoNome(), para ajudar a limpar mais o método visit(). Sobrescrever o método visit()
21
Resultados dos testes
22
Conclusão Implementação dos padrões restantes
Esse detector pode ser utilizado em qualquer Sistema Operacional que suporte o Eclipse SDK.
23
Perguntas
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.