複数のパッケージが循環の関係にあるとき(パッケージA > パッケージB > パッケージC > パッケージA : ここで ">" は「依存する」の意)、 これらのパッケージの結び付きは強く、どれかひとつのパッケージだけを取り出して利用するということが出来ない。 このような循環があると、アプリケーションの保守に手間がかかるようになり、ひいてはビジネスの変化に追従することが難しくなる。 Sonar はパッケージ間の循環を検知するだけでなく、最小の手間でそれらの循環を断ち切る方法を提示する。 このルールは、そのような循環を断ち切るために、依存関係を持つソースファイルについての違反を記録する。