Mapa mental
ExceptionPolicyExpert

Mapa mental: ExceptionPolicyExpert
Conteúdo do mapa
ExceptionPolicyExpert
- Uma Ferramenta para Auxiliar no Desenvolvimento do Tratamento de Exceções
Introdução
- Problema
- boas práticas e a política de tratamento de exceções não são de conhecimento geral dos desenvolvedores
- Muitas vezes a política de tratamento de exceções nem sequer está documentada
- Limitações
- não são integradas ao ambiente de desenvolvimento.
- ferramenta integrada ao ambiente de trabalho do desenvolvedor, que o auxilie a implementar o código de tratamento de exceções,
- Objetivos
- consiste em investigar como os desenvolvedores Java lidam com o código de tratamento de exceções
- trabalho está voltado para a linguagem de programação Java,
- Problema
Fundamentação Teórica
- Tratamento de exceções
- O tratamento de exceções é uma das forma de se implementar tolerância a faltas.
- Exceções representam condições de erros no software,
- Exceção,Sinalizador,Tratador,Modelo de exceção.
- Tratamento de exceções em Java
- flexibilidade ao se trabalhar com exceções.1
- Todo código Java, para compilar sem erros, deve cumprir o requisito "Catch or Specify".
- Grounded Theory
- Versões da Grounded Theory
- Coleta de dados
- fundamentais de uma GT é a etapa de coleta de dados.
- Codificacão
- É nela que os dados são analisados,
- Coleta de dados
- Versões da Grounded Theory
- Tratamento de exceções
Estudo Exploratório
- Contexto do estudo exploratório
- Definição das questões de pesquisa
- QP1:
- QP2
- QP3
- Entrevistas semiestruturadas
- Coleta de dados
- A principal fonte de informação utilizada na coleta de dados foram as entrevistas em si.
- Perfil dos participantes das entrevistas semiestruturadas
- Todos os participantes das entrevistas semiestruturadas são desenvolvedores de software profissionais
- Codificação
- Apenas os códigos que traziam algum tipo de resposta para as questões foram mantidos.
- QP
- Coleta de dados
- Survey de validação
- O estudo exploratório foi realizado no contexto da Superintendência de Informática da Universidade Federal do Rio Grande do Norte
Ferramenta Proposta: ExceptionPolicyExpert
- Ferramenta ECL/DAEH
- Linguagem ECL
- é uma linguagem específica de domínio que possibilita a definição das regras de design
- Linguagem ECL
- Desenvolvimento da ExceptionPolicyExpert
- O desenvolvimento da ferramenta foi composto por dois passos.
- Visão geral da ExceptionPolicyExpert
- execução da ferramenta é transformar o arquivo Java numa árvore AST (Abstract Syntax Tree)
- Módulo de verificação
- Exemplo de política de tratamento
- A regra R1 especifica que quando qualquer método da classe “StudentDao” lançar uma exceção do tipo “DAOException”.
- Sinalização indevida
- Esta verificação, do tipo violação, é executada para todos os métodos que são sina- lizadores de exceção.
- Tratamento indevido
- Esta verificação também é do tipo violação. Ela é executada para todos os métodos que são tratadores de exceção, ou seja, aqueles que possuem um catch.
- Possíveis tratadores
- Diferentemente das verificações anteriores, esta verificação é informativa, ou seja, não acusa violação da política e é executada para todos os métodos que lançam uma ou mais exceções.
- Limitação da ferramenta proposta
- Uma limitação da ferramenta ExcpetionPolicyExpert é a possibilidade de gerar falsos positivos.
- Considerações finais
- Para avaliar o funcionamento da ferramenta, elaboramos um estudo de caso com alguns desenvolvedores e analisamos os logs gerados e a opinião dos usuários.
- Exemplo de política de tratamento
- Ferramenta ECL/DAEH
Avaliação da Ferramenta ExceptionPolicyExpert
- Participantes e definição da política
- O plug-in foi instalado no ambiente de desenvolvimento utilizado pelos participantes e a política de tratamento de exceções foi escrita em ECL.
- Coleta de dados do log
- Sinalização Indevida
- as camadas que estão localizadas acima do nível onde as exceções são sinalizadas podem não estar preparadas para tratar essas exceções.
- Tratamento Indevido
- violações ferem algumas boas práticas de uso de exceções em Java,
- Possíveis tratadores
- A terceira validação feita pela ferramenta não indica violação da política, mas dá ao desenvolvedor informações que podem ser úteis para ele garantir que o código está de acordo com a política definida.
- Sinalização Indevida
- Opinião dos usuários
- De acordo com as respostas dadas no questionário de avaliação, os desenvolvedores aprovaram a ferramenta, indicando que ela auxilia na implementação de exceções.
- Participantes e definição da política