04dez2025
14:00 Defesa de Mestrado Sala 85 do IC2
Tema
Antipadrões em Microsserviços: uma abordagem de detecção utilizando análise dinâmica
Aluno
Leonardo Henrique de Braz
Orientador / Docente
Breno Bernard Nicolau de França - Coorientador: Bruno Barbieri de Pontes Cafeo
Breve resumo
A crescente adoção da arquitetura de microsserviços no desenvolvimento de software, impulsionada pela necessidade de sistemas flexíveis e escaláveis, tornou imperativo o desenvolvimento de estratégias para monitorar, verificar e validar a saúde geral do sistema em diferentes níveis, incluindo arquitetura, design e código-fonte. No entanto, à medida que o software evolui, invariavelmente, ele se torna suscetível a soluções recorrentes inadequadas para problemas, que podem impactar negativamente a saúde do sistema, conhecidas como antipadrões. As técnicas já catalogadas para detecção de antipadrões em diferentes modelos arquiteturais empregam abordagens distintas, envolvendo tanto a análise estática de código e ambiente quanto a análise dinâmica de dados coletados durante a execução. Contudo, a detecção de antipadrões em ambientes de execução, especialmente no contexto de microsserviços, apresenta desafios devido à sua natureza distribuída e à complexidade operacional da arquitetura. Isso dificulta a identificação de antipadrões relacionados à visibilidade do sistema, comunicação, reconhecimento de escopo, desempenho e outros aspectos inerentes aos microsserviços. Assim, este trabalho propõe uma abordagem para detectar antipadrões identificáveis primariamente em tempo de execução, incluindo quatro estratégias distintas, e avalia sua eficácia por meio da aplicação em uma aplicação real de microsserviços de código aberto, o Spinnaker, utilizando métricas coletadas em tempo de execução. Como resultado, duas das heurísticas identificaram com sucesso antipadrões no sistema, enquanto as outras duas não detectaram falhas. Todos os casos reportados foram manualmente verificados e confirmados, garantindo a validade dos resultados nas situações analisadas. Dessa forma, os resultados evidenciam que a análise dinâmica é uma alternativa viável e eficaz para detectar antipadrões em ambientes de microsserviços em execução real, permitindo identificar falhas que dificilmente seriam observadas por meio de análise estática.
Banca examinadora
Titulares:
Breno Bernard Nicolau de França IC/UNICAMP
Rodrigo Bonifácio de Almeida UnB
André Santanché IC/UNICAMP
Suplentes:
Cecília Mary Fischer Rubira IC/UNICAMP
Frank José Affonso IGCE/UNESP