Fechar

Defesa de Tese de Doutorado do aluno Anderson José Silva.

Defesa de Tese de Doutorado do aluno Anderson José Silva.

Título da tese: Unveiling Design Problems Identification: Combining Multiple Symptoms

Resumo: O projeto de software resulta das decisões das partes interessadas durante o desenvolvimento do mesmo. Algumas decisões podem impactar negativamente os requisitos não funcionais (RNFs), levando a problemas de projeto no sistema. Quando negligenciados, esses problemas podem aumentar os custos de manutenção ou até mesmo causar a descontinuação do sistema de software. Portanto, identificar esses problemas é crucial. Os desenvolvedores geralmente usam anomalias de código relacionados à manutenabilidade, como métodos longos ou código duplicado para indicar problemas de projeto. No entanto, a literatura mostra que apenas este tipo de anomalia podem não ser suficientes para a identificação, pois os desenvolvedores geralmente precisam de informações mais abrangentes sobre o problema de projeto para tomar as ações apropriadas. Nesse cenário, as anomalias de código relacionadas à robustez, como blocos catch vazios, também podem ajudar a identificar e resolver estes problemas. Combinando ambos os tipos de anomalias de código, desenvolvedores podem melhorar sua capacidade de identificar e resolver problemas de projeto. Desse modo, em nosso primeiro estudo, exploramos como os desenvolvedores usam anomalias de manutenabilidade na prática. Queríamos entender até que ponto usar apenas anomalias de manutenabilidade ajuda os desenvolvedores a identificar problemas de projeto. Identificamos que, embora anomalias de manutenabilidade possam realmente ajudar a identificar problemas de projeto, muitas vezes são necessárias informações adicionais para tomar decisões efetivas sobre melhorias e refatoração de código. Assim, em nosso segundo estudo, exploramos as anomalias de robustez. Nosso objetivo foi entender como estes dois tipos de anomalias, combinados, poderiam ser explorados para aprimorar a identificação de problemas de projeto. Ao examinar como os desenvolvedores lidam com RNFs, pretendemos entender melhor quem são os responsáveis por endereçá-los e gerenciá-los. Nosso objetivo é entender suas responsabilidades, funções e tomadas de decisões. Isso nos ajudará a fornecer recomendações para a melhor adesão aos RNFs, reduzindo os problemas de projeto.

Orientador: Prof. Dr. Alessandro Fabricio Garcia

Co-Orientador(a): Prof(a). Dr(a). Juliana Alves Pereira

Banca: Prof. Dr. Jose Alberto Rodrigues Pereira Sardinha | Prof. Dr. Baldoino Fonseca dos Santos Neto | Prof. Dr. Greis Francy Mireya Silva Calpa | Prof. Dr. Rafael Maiani de Mello

Assista a defesa pelo link: https://puc-rio.zoom.us/j/94820627903?pwd=aDZtcXkwVG9UalZQWlhGbk80UU8rdz09