Microservice antipatterns : an approach for detection using dynamic analysis

Detalhes bibliográficos
Ano de defesa: 2025
Autor(a) principal: Braz, Leonardo Henrique de, 1999-
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: [s.n.]
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://hdl.handle.net/20.500.12733/41842
Resumo: Orientador: Breno Bernard Nicolau de França
id UNICAMP-30_ce8d483d6ebd8e2b05106c2edae7c2fc
oai_identifier_str oai::1541418
network_acronym_str UNICAMP-30
network_name_str Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
repository_id_str
spelling Microservice antipatterns : an approach for detection using dynamic analysisAntipadrões em microsserviços: : uma abordagem de detecção utilizando análise dinâmicaSoftware architectureSoftware engineeringDynamic analysisMicroservices architectureArquitetura de softwareEngenharia de softwareAnálise dinâmicaArquitetura de microsserviçosOrientador: Breno Bernard Nicolau de FrançaCoorientador: Bruno Barbieri de Pontes CafeoDissertação (mestrado) - Universidade Estadual de Campinas (UNICAMP), Instituto de ComputaçãoResumo: 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 a arquitetura, o design e o código-fonte. No entanto, à medida que o software evolui, ele se torna, invariavelmente, 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, abrangendo tanto a análise estática de código e de 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 à natureza distribuída e à complexidade operacional da arquitetura. Isso dificulta a identificação de antipadrões relacionados à visibilidade do sistema, à comunicação, ao reconhecimento de escopo, ao desempenho e a 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 de 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 verificados e confirmados manualmente, 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 são observadas por meio de análise estáticaAbstract: The increasing adoption of microservice architecture in software development, driven by the need for flexible and scalable systems, has made it imperative to develop strategies for monitoring, verifying, and validating the overall health of systems at different levels, including architecture, design, and source code. However, as software evolves, it inevitably becomes susceptible to recurring inadequate solutions to problems, which can negatively impact system health, commonly known as antipatterns. Existing techniques for detecting antipatterns across different architectural models employ distinct approaches, including static analysis of code and the environment, and dynamic analysis of data collected during execution. Nonetheless, detecting antipatterns in runtime environments, especially in the context of microservices, poses challenges due to their distributed nature and the architecture's operational complexity. This complexity hinders the identification of antipatterns related to system visibility, communication, scope recognition, performance, and other aspects inherent to microservices. Therefore, this work proposes an approach to detect antipatterns primarily identifiable at runtime, including four distinct detection strategies. It evaluates their effectiveness through application in a real-world open-source microservice system, Spinnaker, using runtime metrics. As a result, two proposed heuristics successfully identified antipatterns in the system, while the other two did not detect any failures. All reported cases were manually verified and confirmed, ensuring the validity of the results for the analyzed scenarios. Thus, the findings demonstrate that dynamic analysis is a viable and effective alternative for detecting antipatterns in microservice environments, providing a closer-to-reality approach that enables the identification of issues that are difficult to observe through static analysisAbertoMestradoCiência da ComputaçãoMestre em Ciência da Computação[s.n.]França, Breno Bernard Nicolau de, 1983-Cafeo, Bruno Barbieri de Pontes, 1985-Almeida, Rodrigo Bonifácio deSantanchè, AndréUniversidade Estadual de Campinas (UNICAMP). Instituto de ComputaçãoPrograma de Pós-Graduação em Ciência da ComputaçãoUNIVERSIDADE ESTADUAL DE CAMPINASBraz, Leonardo Henrique de, 1999-20252025-12-04T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdf1 recurso online (82 p.) : il., digital, arquivo PDF.https://hdl.handle.net/20.500.12733/41842BRAZ, Leonardo Henrique de. Microservice antipatterns: an approach for detection using dynamic analysis. 2025. 1 recurso online (82 p.) Dissertação (mestrado) - Universidade Estadual de Campinas (UNICAMP), Instituto de Computação, Campinas, SP. Disponível em: 20.500.12733/41842. Acesso em: 27 abr. 2026.https://repositorio.unicamp.br/acervo/detalhe/1541418Cover: https://repositorio.unicamp.br/capa/capa?codigo=1541418Requisitos do sistema: Software para leitura de arquivo em PDFengreponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)instname:Universidade Estadual de Campinas (UNICAMP)instacron:UNICAMPinfo:eu-repo/semantics/openAccess2026-03-16T09:27:49Zoai::1541418Biblioteca Digital de Teses e DissertaçõesPUBhttp://repositorio.unicamp.br/oai/tese/oai.aspsbubd@unicamp.bropendoar:2026-03-16T09:27:49Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)false
dc.title.none.fl_str_mv Microservice antipatterns : an approach for detection using dynamic analysis
Antipadrões em microsserviços: : uma abordagem de detecção utilizando análise dinâmica
title Microservice antipatterns : an approach for detection using dynamic analysis
spellingShingle Microservice antipatterns : an approach for detection using dynamic analysis
Braz, Leonardo Henrique de, 1999-
Software architecture
Software engineering
Dynamic analysis
Microservices architecture
Arquitetura de software
Engenharia de software
Análise dinâmica
Arquitetura de microsserviços
title_short Microservice antipatterns : an approach for detection using dynamic analysis
title_full Microservice antipatterns : an approach for detection using dynamic analysis
title_fullStr Microservice antipatterns : an approach for detection using dynamic analysis
title_full_unstemmed Microservice antipatterns : an approach for detection using dynamic analysis
title_sort Microservice antipatterns : an approach for detection using dynamic analysis
author Braz, Leonardo Henrique de, 1999-
author_facet Braz, Leonardo Henrique de, 1999-
author_role author
dc.contributor.none.fl_str_mv França, Breno Bernard Nicolau de, 1983-
Cafeo, Bruno Barbieri de Pontes, 1985-
Almeida, Rodrigo Bonifácio de
Santanchè, André
Universidade Estadual de Campinas (UNICAMP). Instituto de Computação
Programa de Pós-Graduação em Ciência da Computação
UNIVERSIDADE ESTADUAL DE CAMPINAS
dc.contributor.author.fl_str_mv Braz, Leonardo Henrique de, 1999-
dc.subject.por.fl_str_mv Software architecture
Software engineering
Dynamic analysis
Microservices architecture
Arquitetura de software
Engenharia de software
Análise dinâmica
Arquitetura de microsserviços
topic Software architecture
Software engineering
Dynamic analysis
Microservices architecture
Arquitetura de software
Engenharia de software
Análise dinâmica
Arquitetura de microsserviços
description Orientador: Breno Bernard Nicolau de França
publishDate 2025
dc.date.none.fl_str_mv 2025
2025-12-04T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/20.500.12733/41842
BRAZ, Leonardo Henrique de. Microservice antipatterns: an approach for detection using dynamic analysis. 2025. 1 recurso online (82 p.) Dissertação (mestrado) - Universidade Estadual de Campinas (UNICAMP), Instituto de Computação, Campinas, SP. Disponível em: 20.500.12733/41842. Acesso em: 27 abr. 2026.
url https://hdl.handle.net/20.500.12733/41842
identifier_str_mv BRAZ, Leonardo Henrique de. Microservice antipatterns: an approach for detection using dynamic analysis. 2025. 1 recurso online (82 p.) Dissertação (mestrado) - Universidade Estadual de Campinas (UNICAMP), Instituto de Computação, Campinas, SP. Disponível em: 20.500.12733/41842. Acesso em: 27 abr. 2026.
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv https://repositorio.unicamp.br/acervo/detalhe/1541418
Cover: https://repositorio.unicamp.br/capa/capa?codigo=1541418
Requisitos do sistema: Software para leitura de arquivo em PDF
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
1 recurso online (82 p.) : il., digital, arquivo PDF.
dc.publisher.none.fl_str_mv [s.n.]
publisher.none.fl_str_mv [s.n.]
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
instname:Universidade Estadual de Campinas (UNICAMP)
instacron:UNICAMP
instname_str Universidade Estadual de Campinas (UNICAMP)
instacron_str UNICAMP
institution UNICAMP
reponame_str Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
collection Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)
repository.mail.fl_str_mv sbubd@unicamp.br
_version_ 1863676533886943232