Detalhes bibliográficos
Ano de defesa: |
2017 |
Autor(a) principal: |
Fernandes, Teresa do Carmo Barrêto |
Orientador(a): |
Coelho, Roberta de Souza |
Banca de defesa: |
Não Informado pela instituição |
Tipo de documento: |
Dissertação
|
Tipo de acesso: |
Acesso aberto |
Idioma: |
por |
Instituição de defesa: |
Não Informado pela instituição
|
Programa de Pós-Graduação: |
PROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO
|
Departamento: |
Não Informado pela instituição
|
País: |
Brasil
|
Palavras-chave em Português: |
|
Área do conhecimento CNPq: |
|
Link de acesso: |
https://repositorio.ufrn.br/jspui/handle/123456789/24202
|
Resumo: |
Exceções não capturadas (do inglês: uncaught) não são cenários excepcionais nas aplicações Java atuais. Eles são, na verdade, uma das principais causas de falha das aplicações Java - que podem originar-se de erros de programação (e.g., acesso a referências nulas); falhas no hardware ou em APIs utilizadas. Essas exceções uncaught resultam em stack traces que são frequentemente usados pelos desenvolvedores como fonte de informações para a depuração. Atualmente, essa informação é frequentemente usada pelos desenvolvedores em mecanismos de busca ou sites de perguntas e respostas (do inglês: Question and Answer - Q&A) para tentar compreender melhor a causa do crash e assim poder resolvêlo. Este estudo fez a mineração de stack traces incluídas nas perguntas e respostas do StackOverflow (SOF). O objetivo deste estudo foi: (i) identificar características das stack traces mineradas do SOF e (ii) investigar como tais informações podem ser usadas para evitar exceções uncaught durante o desenvolvimento de software. Neste estudo, 121.253 stack traces foram extraídas e analisadas em combinação com inspeções de postagens do SOF. Também é proposta a ferramenta ExMinerSOF, que alerta o desenvolvedor sobre as exceções que podem ser potencialmente sinalizadas por um método de API. Essas informações são descobertas aplicando uma estratégia de mineração apresentada neste trabalho. Ao fazê-lo, a ferramenta permite que o desenvolvedor evite falhas com base em falhas relatadas por outros desenvolvedores. |