Litcius/Paper detail

Using dependency graph and graph theory concepts to identify anti-patterns in a microservices system: A tool-based approach

Isuru Udara Piyadigama Gamage, Indika Perera

202119 citationsDOI

Abstract

Microservice architecture (MSA) based application developments are becoming the common trend in implementing large-scale applications. Unlike the traditional monolith applications, MSA applications are composed of many services hence there is an immense possibility of anti-patterns introduced into the system. To identify these design problems, a detailed analysis of the architecture needs to be performed. We see great potential for adopting graph concepts and algorithms in this regard. However, the few tools proposed by existing work to find anti-patterns that adopt graph concepts are not up to providing developers with adequate statistical information such as metrics along with visualization techniques or they are not fully automated. In this research, we present a tool-based solution for this problem which is capable of utilizing traced data of an MSA system to generate dependency graphs and thereby extract metrics using graph theory concepts and algorithms. We analyze a sample MSA system for anti-patterns with the tool. To verify the usability of the tool further, a group of developers also analyze an open-source system with the tool.

Topics & Concepts

Computer scienceDependency graphMicroservicesUsabilityDependency (UML)GraphGraph databaseVisualizationGraph theoryTheoretical computer scienceData miningSoftware engineeringData scienceCloud computingHuman–computer interactionMathematicsOperating systemCombinatoricsSoftware System Performance and ReliabilitySoftware Engineering ResearchGreen IT and Sustainability
Using dependency graph and graph theory concepts to identify anti-patterns in a microservices system: A tool-based approach | Litcius