To skip all this and go straight to the application, click here to open the application on the default data set (Tomcat 7), here to open another available dataset, or here to upload your own program for analysis.
What is this? A browser-based application to analyse the architecture of Java (= JVM-based) applications.
Why should I bother? This application helps the software architect to detect design flaws that make it difficult to modularise systems using OSGi, Jigsaw or similar modularisation platforms. This is useful to improve the maintainability of systems, supports product line engineering and helps to establish eco-systems of plugins and extensions around products.
Why is it different? There are a few other dependency analysers available. We think that our tool scales better for large systems, is easier to deploy, can detect several architectural antipatterns, and assigns a unique metric (apsc) that can be used to detect critical relationships that prevent modularisation. The application state is entirely encoded in the URL. This means that users can easily share knowledge about their system (such as unwanted relationships between classes and packages) by mailing or bookmarking the current URL.
How does it work? A graph is built from java byte code and displayed in the browser using a force-directed layout. Different views (jars, packages, classes, tangles) and filters are supported, and several antipatterns and metrics related to modularisation problems are computed and displayed. The state of the application (selections, patterns) is encoded in the URL and can be bookmarked and shared directly.
Does it scale? Try it and compare it with similar tools - the system can analyse / visualise large real world-systems such as the Tomcat server (2390 classes and 13800 relationships), Azureus (7713 classes and 44161 relationships) and even Java (the JRE) (17352 classes and 173911 relationships) itself!
Is it free? Yes! You can upload and analyse your jar files for free. There is currently a size restriction caused by server capacity limitations. Please contact us if you have larger files / systems consisting of multiple jar files you want to analyse, and we install them manually for you.
Inquiries/contact: Jens Dietrich