10 out 2023
16:00 Defesa de Mestrado Sala 53 do IC2
Tema
Sobre a Viabilidade de Usar Métricas SOA para Avaliar a Coesão durante a Evolução dos Microsserviços
Aluno
Mateus Gabi Moreira
Orientador / Docente
Breno Bernard Nicolau de França
Breve resumo
CONTEXTO: A Arquitetura de Microsserviços (MSA) oferece benefícios como complexidade reduzida, mas também desafios como complexidade de operação e manutenção. O monitoramento da qualidade do software é crucial para evitar aplicações com baixa coesão e altamente acopladas. Métricas podem ajudar a medir a manutenibilidade, mas precisam de ampla validação empírica antes de serem usadas para tomar decisões. Métricas de manutenibilidade específicas para MSA são desconhecidas, e métricas propostas para Arquitetura Orientada a Serviços (SOA) não foram avaliadas para o contexto de MSA. OBJETIVO: Dadas essas questões e a evidência empírica limitada, o problema abordado neste trabalho é a validação empírica das métricas projetadas para SOA aplicadas para medir a coesão de MSA. MÉTODO: Realizamos dois estudos principais. Primeiro, revisamos a literatura para identificar métricas para medir coesão em aplicações com arquitetura MSA. No segundo estudo mineramos repositórios de software, incluindo vários microsserviços e suas versões estáveis. Para isso, selecionamos o repositório a ser minerado; escolhemos uma aplicação MSA de código aberto para avaliar o procedimento de análise proposto. Em seguida, desenvolvemos uma ferramenta de apoio à coleta e análise de dados. Por fim, realizamos uma análise quantitativa e qualitativa de séries temporais. RESULTADOS: Nossos resultados sugerem que é possível visualizar a evolução da coesão em arquiteturas de microsserviços usando as métricas SOA selecionadas. No entanto, identificamos que diferentes perspectivas (controladores x microsserviço) usando as mesmas métricas podem apresentar resultados diferentes. O procedimento seguido em nosso método de pesquisa apoiou o monitoramento e a análise da coesão durante a evolução dos microsserviços, que as equipes de software podem usar para rastrear problemas de manutenibilidade durante todo o ciclo de vida do desenvolvimento de software. CONCLUSÃO: Nosso estudo indica que as métricas SOA (SIDC1, LOCmessage e SIIC) podem ser usadas para analisar a evolução de aplicações MSA. Quando aplicadas a controladores, essas métricas geralmente exibem um nível estável de coesão, mas a coesão diminui ao avaliar microsserviços inteiros.
Banca examinadora
Titulares:
Breno Bernard Nicolau de França IC/UNICAMP
Paulo Roberto Miranda Meirelles IME/USP
Bruno Barbieri de Pontes Cafeo IC/UNICAMP
Suplentes:
Cecília Mary Fischer Rubira IC/UNICAMP
Paulo Sérgio Medeiros dos Santos PPGI-UNIRIO