Detalhes bibliográficos
Ano de defesa: |
2019 |
Autor(a) principal: |
Melo, Hugo Faria |
Orientador(a): |
Coelho, Roberta de Souza |
Banca de defesa: |
Não Informado pela instituição |
Tipo de documento: |
Tese
|
Tipo de acesso: |
Acesso aberto |
Idioma: |
por |
Instituição de defesa: |
Universidade Federal do Rio Grande do Norte
|
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: |
|
Link de acesso: |
https://repositorio.ufrn.br/handle/123456789/30645
|
Resumo: |
O mecanismo de tratamento de exceções é um recurso presente na maioria das linguagens de programação modernas para o desenvolvimento de sistemas tolerantes à falhas. Apesar de ser um recurso já antigo da linguagem Java, os desenvolvedores ainda sentem dificuldades em usar o tratamento de exceções até para os problemas mais básicos. Apesar do tratamento de exceções de um sistema ser essencialmente um problema de design, poucos trabalhos se propõem a investigar o tratamento de exceções Java do ponto de vista dos desenvolvedores. Nesta tese nós exploramos as decisões tomadas e soluções adotadas por desenvolvedores Java para o tratamento de exceções em seus projetos. Ao todo realizamos 6 estudos, que consultaram um total de 423 desenvolvedores, entre entrevistas e surveys, e analisou o código-fonte de 240 projetos Java hospedados no GitHub. Nossos resultados mostram que as decisões relacionadas ao tratamento de exceções Java não costumam ser documentadas, e por vezes não são sequer discutidas verbalmente entre a equipe de desenvolvedores; que os desenvolvedores acreditam que seus código-fonte seguem as soluções adotadas; que os desenvolvedores aprendem sobre as soluções para tratamento de exceções através de reuniões informais e inspeção de código; que as soluções adotadas no projeto são verificadas no código-fonte através de revisão de código. Analisamos código-fonte Java de 240 projetos para verificar o cumprimento de 7 das 31 soluções para o tratamento de exceções Java que identificamos, e constatamos que muitas vezes o código não cumpre o pretendido. Nossa pesquisa revela uma fragilidade na implementação e verificação do tratamento de exceções Java que ajudará pesquisadores e comunidade na elaboração de ferramentas e outras soluções que auxiliem desenvolvedores a aplicarem o tratamento de exceções com eficácia. |