Lattix Architecture Analysis for Java provides an architecture solution that helps software development teams understand, define (refactor) and control their codebases. It is the most comprehensive solution for analyzing the architecture of your Java applications allowing you to create a Dependency Structure Matrix from your jar, ear, war, apk, aar files, and java classes to understand the interrelationships (dependencies) between them at any level (jars, packages, classes, interfaces, methods, data members, etc.) Understanding the dependencies allows you to create a clean architecture. A clean architecture has a modular hierarchy and is enforced with automatic design rule violations. The benefits are lower code complexity, faster time-to-market, lower cost, and fewer defects.

This example is the Dependency Structure Matrix of Ant, the popular Java build tool:

Java Architecture Analysis using Dependency Structure Matrix

Lattix Architecture Analysis for Java has the following features:

  • Manage code complexity
    • Identify cyclic and other potentially bad dependencies that should be fixed to reduce technical debt
  • Discover and visualize architecture
    • Understand the currently existing structure and discover all dependencies and relationships between software modules
  • Define and enforce intended architecture
    • Define your architecture and enforce it as it evolves over time. Gain insight into when architectural flaws are introduced into your codebase
  • Identify dependencies between jars
  • Explore dependencies at the level of methods and class members, including support for Java Constants
  • Kinds of dependencies supported include: class and data member references invokes, inherits, and constructs
  • The Java Source Code Analyzer for Constants parses java source code to generate the dependencies between Java classes that are based on constants


Here is a video on how to create a Java project in Lattix:

Learn how LL Bean reduced the size of their Java codebase by 10% while dramatically improving the understanding and maintainability of their application.

In addition to full support for Java, Lattix also includes support for Hibernate and Spring Frameworks as well as a plugin for Eclipse.