Sonargraph Product Family
Sonargraph-Explorer (free license for any use)
Sonargraph-Explorer is a simple but powerful static analysis tool with a focus on metrics and dependency visualization. It supports Java and Kotlin, Python 3 and C#. More languages might be added in the future.
Code Exploration and Comprehension
Sonargraph-Explorer has very powerful dependency visualization features. The graph view displays dependencies between arbitrary elements selected by the user in form of a layered graph.
All nodes that are in a cyclic group are combined into a single node, that can be further investigated using the cycle viewer.
The exploration view displays dependencies in a more hierarchical and scalable fashion. The arcs in the view are directional and go counter-clockwise. You should see some cyclic dependencies in the screenshot below.
This view comes with many powerful features that allow you to focus on specific parts of your application. You can drill down, jump to the source code and expand the focus by adding incoming and/or outgoing dependencies. Every dependency can be tracked down to the code.
Assess Quality by Analyzing Metrics and Code Structure
The screenshot below shows the overall system metrics of NHibernate (C#) including the associated test projects.
Sonargraph-Explorer computes hundreds of code and quality metrics that can be used to quickly assess the technical quality of any software system.
Using dependency visualization and metrics it becomes easy to gain a better understanding of any software system, even if it lacks documentation. Moreover the metrics allow a quick and solid assessment of the technical quality of the codebase.