CAMPUS NATAL-CENTRAL DIRETORIA DE EDUCAÇÃO E TECNOLOGIA DA INFORMAÇÃO

Slides:



Advertisements
Apresentações semelhantes
Iniciando na plataforma Eclipse
Advertisements

Java – Classes Abstratas
Projeto 1.
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INTRODUÇÃO À TECNOLOGIA DE OBJETOS Prof. Thiago Pereira Rique
INTRODUÇÃO À TECNOLOGIA DE OBJETOS Prof. Thiago Pereira Rique.
Uma Ferramenta Baseada em MDA para a Especialização de Mecanismos de Persistência Fabio Seixas Marques Seminário LES – 28 de outubro.
Padrões de Projeto Prototype.
Um Processo Baseado em MDA para a Especialização de Mecanismos de Persistência Fabio Seixas Marques Seminário LES – 7 de abril de.
Padrão Abstract Factory
PRDS - Programa de Residência em Desenvolvimento de Software Laboratório de Engenharia de Software (LES) da PUC-Rio Carlos Lucena
Sistema para Gerenciamento de Redes Baseado em Agentes Móveis
Alexandre Parra Site: Linguagem Java Alexandre Parra Site:
Programação orientada a objetos com Java
Fundação Aplicações de Tecnologias Críticas - Atech
Segurança em Aplicações 5. Melhores Práticas de Programação
PSP - Apresentação da disciplina Vanilson Burégio.
Introdução a Programação Orientada a Objetos
TÉCNICAS DE PROGRAMAÇÃO II
Desenvolvimento de Projetos e Aplicações Web
Curso de extensão em Desenvolvimento Web
Introdução ao Teste Unitário com JUnit
Especialização em Segurança da Informação Segurança em Aplicações 5. Melhores Práticas de Programação Márcio Aurélio Ribeiro Moreira
JAVA: Conceitos Iniciais
Conceitos básicos de orientação a objetos
Universidade Federal de Lavras - UFLA
Singleton e Adapter Professor: Nazareno Andrade
Estágio Supervisionado.
Desenvolvimento de Sistemas Orientados a Aspectos
Ferramentas para Orientação a Objetos Apresentação da Disciplina Prof. Wolley.
Tópicos avançados em internet A
Tópicos de Sistemas de Informação A
UNIVERSIDADE CATÓLICA DE BRASÍLIA 2011 PAULO LIMA aluno FERNANDO GOULART orientador.
Licenciatura em Informática António Fonseca 2005.
Paradigmas da Programação – Semestre 1 – Aula 2 Professores: Eduardo Mantovani Fábio de Paula.
Linguagens de Programação II Aula 04 – Entendendo Classes
Linguagens de Programação II
PESQUISADOR: CASSIANO DALCIN / 2010 Trabalho de Conclusão de Curso MINISTÉRIO DA EDUCAÇÃO Universidade Tecnológica Federal do Paraná Campus Medianeira.
Orientedora: Prof a. Daniela Barreiro Claro Graduando: Anderson Tiago Barbosa de Carvalho Universidade Federal da Bahia Instituto de Matemática Departamento.
XIV Jornada de Cursos .NET com C# Antônio Júnior Bruno Inojosa.
Paradigmas da Programação – Semestre 1 – Aula 9 Professor: Eduardo Mantovani )
Configuração do Ambiente de programação
Aplicativo de Interação Acadêmica
Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF.
FACULDADE DE TECNOLOGIA SENAC-RS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Uma Ferramenta para Geração de Casos de Testes para.
Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.
José Francisco PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente.
Introdução Padrões de Projeto
Padrões de Interação com o Usuário
Linguagens de Programação II
Capítulo 9 Arquivos JAR.
BlackJack Bárbara A.B. dos Anjos Gabriel Artur Cunha Maciel Wanderlan Santos dos Anjos Paradigmas de Linguagem de.
MAKE: UM FRAMEWORK PARA GERAÇÃO DE DADOS PARA TESTES UNITÁRIOS EM JAVA Guilherme Braga Viana BahiaAluno: Orientador:Prof. Joaquim Pedro C. de Oliveira,
Desenvolvimento de Software Dirigido a Modelos
Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Natanael Maia Ana Paula Blois Cláudia Werner Grupo de Reutilização de Software Outubro/2005.
Aglets.
Kinamo Sistema gerenciamento de filmes Cleunio França - cbff Fernando Rodrigues - frsn João Pedro Kamei - jpmk Pedro Bello - pab2.
Introdução a Programação Orientada a Objetos
April 05 Prof. Ismael H. F. Santos - 1 Modulo I Princípios e Padrões de Projeto de SW em Java Professores Eduardo Bezerra –
Modificadores Programação II.
Mini Curso.
1 Baseado em whitepapers/eclipse-overview.pdf Nelson Lago IME/USP 04/2003 A Plataforma Eclipse.
Luis Paulo da S. Carvalho, Moara S. Brito,
Módulo II Capítulo 1: Orientação a Objetos
Padrões de Projetos Professora Lucélia. Conceitos É uma solução conhecida para um problema comum São técnicas que nos dão uma boa solução para determinados.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Desenvolvimento WEB II Ajax – Utilização de Frameworks Javascript Professora: Kelly de Paula Cunha.
Implementação Orientada a Objetos – Aula 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
COMPILADORES 02 Prof. Marcos. COMPILADORES Do Programa à Execução Computadores das mais variadas arquiteturas têm funcionamento:
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Campus Parnamirim.
Análise e Projeto de Sistemas Análise & modelagem conceitual Prof. Edjandir Corrêa Costa
Transcrição da apresentação:

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

Sumário Introdução Análise Estática Arquitetura Eclipse Plugin FindBugs

Sumário Padrões Criando um Detector do FindBugs Plugin para utilização no SIGA-EDU Conclusão

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.

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

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.

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

Análise Estática Falsos Positivos & Falsos Negativos Penalidades Ferramentas de análise estática FindBugs X outras ferramentas

Eclipse IDE Histórico da plataforma Plataforma para a integração de ferramentas de desenvolvimento. Independência de Sistema Operacional.

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.

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.

Criando um Detector do FindBugs Plugin para utilização no SIGA-EDU Situação Classes “EJB” Classes “DAO”

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 1.3.9.qualifier

Criando um Detector do FindBugs Plugin para utilização no SIGA-EDU Configurando o FindBugs Plugin findbugs.xml messages.xml SIGADetector.java

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

Criando um Detector do FindBugs Plugin para utilização no SIGA-EDU Configurando o FindBugs Plugin messages.xml Definição da nossa categoria: SIGAEDU

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

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.

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)

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()

Resultados dos testes

Conclusão Implementação dos padrões restantes Esse detector pode ser utilizado em qualquer Sistema Operacional que suporte o Eclipse SDK.

Perguntas