Classycle is a small, Java based tool specially designed to analyze the static class and package dependencies in Java applications or libraries.
It is especially helpful for finding cyclic dependencies between classes or packages. Classycle is similar to JDepend which does also a dependency analysis but only on the package level.
Static cyclic dependencies of classes or packages can be a sign of bad object-oriented design. A static dependency is a dependency between classes or packages. It can already be detected by the compiler.
This has to be distinguished from dynamic dependency which is a dependency between objects. Figuring out static cyclic dependency is the main purpose of Classycle.