PPGSC - Doutorado em Sistemas e Computação
URI Permanente para esta coleçãohttps://repositorio.ufrn.br/handle/123456789/12058
Navegar
Navegando PPGSC - Doutorado em Sistemas e Computação por Autor "Almeida, Rodrigo Bonifacio de"
Agora exibindo 1 - 1 de 1
- Resultados por página
- Opções de Ordenação
Tese Identifying and analyzing Java exception handling guidelines: a developers point-of-view(Universidade Federal do Rio Grande do Norte, 2019-11-29) Melo, Hugo Faria; Coelho, Roberta de Souza; Treude, Christoph; ; ; ; Kulesza, Uirá; ; Barbosa, Eiji Adachi Medeiros; ; Filho, Fernando José Castor de Lima; ; Almeida, Rodrigo Bonifacio de;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.