Uma ferramenta de visualização de software para avaliação de uso de API no contexto de ecossistemas de software - Avancini, Rodrigo [UNIFESP] (2021)
Ecossistema de Software (SECO) é uma área de pesquisa consolidada da Engenharia de Software, emergindo como um paradigma para o entendimento da dinâmica e dos relacionamentos entre sistemas de software que colaboram entre si para atingir seus objetivos. Entender um ecossistema de software e como seus elementos interagem é essencial para a evolução dos sistemas envolvidos, principalmente para aqueles que fornecem funções e serviços para outros sistemas, como APIs. Uma vez que uma API está sendo utilizada por outras aplicações, futuras alterações precisam ser feitas de forma sistemática e adequada, considerando seu ecossistema. No entanto, ainda existe uma grande demanda de se desenvolver formas eficazes para avaliação do uso de APIs no contexto de SECO. Assim, neste trabalho, foi desenvolvido o Ecolyzer, uma ferramenta de visualização de software que visa a apoiar a análise e avaliação do uso de uma API, por meio de uma visualização interativa e métricas que consideram seu ecossistema. Para mostrar a viabilidade e exequibilidade da solução proposta, foi conduzido primeiramente uma prova de conceito (PoC) usando uma API de código livre escrita na linguagem de programação Lua. Em seguida, realizou-se uma avaliação do uso de uma API de código livre escrita em Java, amplamente utilizada por outras aplicações. Os resultados obtidos com o Ecolyzer foram satisfatórios e evidenciam que a ferramenta é útil e promissora, fornecendo insights importantes que auxiliam no planejamento estratégico para evolução de APIs, levando em consideração seus ecossistemas.