Open Source Code Analyzers in Java
25 projectsSuite of tools for analyzing compiled Java code: extracts dependency graphs and OO metrics from class files, computes API differences between versions. No source needed. Includes Swing and CLI interfaces and XSL output.
Extensible software model checker for Java bytecode. Acts as a JVM that systematically explores execution paths to find deadlocks, unhandled exceptions, and other defects; reports full paths to failures. Well-suited to concurrency bugs in multithreaded code.
Development tool to enforce Java coding standards. Checks class and method design, code layout, and formatting; highly configurable with built-in Sun and Google style guides. Includes Ant task and CLI; integrates with Maven, Gradle, Eclipse, IntelliJ, Jenkins, and other IDEs and CI tools.
Dependency management for JAR files: analyzes JARs in a directory and reports dependencies. Outputs XML (with HTML stylesheet) and GraphViz DOT for diagrams. Includes afferent/efferent coupling, abstractness, instability, distance; Ant task available.
Eclipse plugin to find unnecessary (dead) public Java code and suggest visibility changes (protected, default, private) or final. Detects cyclic dependencies; QuickFixes for markers. Requires Eclipse >= 3.
Static analysis of physical dependencies in a codebase. Validates structure (classes, packages, subsystems, layers), detects cycles, and computes quality metrics with configurable thresholds. Supports Java and C++.
Scans directories recursively for JAR files and generates linked, formatted HTML reports. Helps get an overview of a project or its dependencies (versions, manifests, class locations).