Identifying Anti-Patterns in Distributed Systems With Heterogeneous Dependencies

Hongzhou Fang, Yuanfang Cai, Rick Kazman, Jason Lefever · 2023

In recent years, companies have shifted their software systems from monolithic architectures to distributed architectures such as microservices. It is not a silver bullet that solves growing complexity, and technical debt still accumulates during development and maintenance activities. Researchers have defined suites of anti-patterns to detect technical debt in monolithic systems, but these anti-patterns cannot be directly applied to distributed systems. This paper presents a method to identify anti-patterns in distributed systems using heterogeneous dependencies. To do this, we first identify multiple types of explicit and implicit entities and dependencies that can be extracted from distributed systems. Using these dependencies, we create unified models to represent distributed systems and study the models to identify and define new anti-patterns based on fundamental design principles. In our preliminary research, we identified and defined three new anti-patterns and revised three existing anti-patterns for two systems. We have confirmed that two of these anti-patterns are real problems that cannot be captured by existing approaches, and these results may facilitate further research into automated anti-pattern detection in distributed systems.

Read the paper · More papers on PaperTik