10 Oct
16:00 Master's Defense Room 53 of IC2
On the Feasibility of Using SOA Metrics to Assess Cohesion During the Evolution of Microservices
Mateus Gabi Moreira
Advisor / Teacher
Breno Bernard Nicolau de France
Brief summary
CONTEXT: The Microservices Architecture (MSA) offers benefits such as reduced complexity, but also challenges such as operation and maintenance complexity. Monitoring software quality is crucial to avoid applications with low cohesion and highly coupled. Metrics can help measure maintainability, but they need extensive empirical validation before they can be used to make decisions. MSA-specific maintainability metrics are unknown, and proposed metrics for Service Oriented Architecture (SOA) have not been evaluated for the MSA context. OBJECTIVE: Given these issues and the limited empirical evidence, the problem addressed in this paper is the empirical validation of the designed SOA metrics applied to measure MSA cohesion. METHOD: We performed two main studies. First, we review the literature to identify metrics to measure cohesion in applications with MSA architecture. In the second study we mine software repositories, including several microservices and their stable versions. For this, we select the repository to be mined; we chose an open source MSA application to evaluate the proposed analysis procedure. Next, we developed a tool to support data collection and analysis. Finally, we performed a quantitative and qualitative analysis of time series. RESULTS: Our results suggest that it is possible to visualize the evolution of cohesion in microservices architectures using selected SOA metrics. However, we identified that different perspectives (controllers x microservice) using the same metrics can present different results. The procedure followed in our research method supported the monitoring and analysis of cohesion during the evolution of microservices, which software teams can use to track maintainability issues throughout the software development lifecycle. CONCLUSION: Our study indicates that SOA metrics (SIDC1, LOCmessage and SIIC) can be used to analyze the evolution of MSA applications. When applied to controllers, these metrics generally exhibit a stable level of cohesion, but cohesion decreases when evaluating entire microservices.
Examination Board
Breno Bernard Nicolau de França IC / UNICAMP
Paulo Roberto Miranda Meirelles IME / USP
Bruno Barbieri de Pontes Cafeo IC / UNICAMP
Cecília Mary Fischer Rubira IC / UNICAMP
Paulo Sérgio Medeiros dos Santos PPGI-UNIRIO