This smell occurs when two or more packages/subsystems depend on each other. Cycles between packages/subsystems can be created through use, inheritance, or through a combination of use and inheritance.
Related smells: Static Cycles in Dependency Graphs Cyclically-dependent Modularization Cross-module Cycle
The following set of tools detects this smell: Designite(for C#) DesigniteJava(for Java)
M. Lippert, S. Roock, “Refactoring in Large Software Projects: Performing Complex Restructurings Successfully”. John Wiley and Sons, 2006.
All rights reserved (c) Tushar Sharma 2017-23.