CouplingAnalyzer
Lakos-style system-wide coupling metrics and the strongly-connected-component partition that underpins them. All computation is over main (non-test) edges only, consistent with the rest of GraphAnalyzer. Pure functions - no I/O, no mutation of the input.
Functions
Link copied to clipboard
Partitions the graph into strongly connected components over main (non-test) edges using an iterative Tarjan's algorithm - safe on graphs deep enough to blow a recursive call stack. Each returned list is one component; a component of size >= 2 is a dependency cycle. Single module components (the common case) are acyclic. Self-loops are ignored.
Link copied to clipboard
Lakos-style system-wide coupling metrics, computed over main (non-test) edges only.