Static analysis for Java — locally, in 60 seconds.
Scan your Java codebase for cyclomatic-complexity outliers, vulnerable Maven /
Gradle dependencies, file-local dead code, empty catches, magic numbers,
and more — with the ik CLI. No code leaves your machine
except file paths and metrics.
Running on a Spring Boot repo
What we check, and how.
The smells nobody refactors out.
catch (Exception e) {} — the shortest path through "make it compile." PMD flags both the empty body and the broad catch separately, so you see exactly which assumption the author made.
Helper methods that look load-bearing but have no callers; private fields initialised once and never read. AI generates these "just in case" and never circles back.
Outdated log4j-core, jackson-databind, spring-core, etc. osv-scanner queries the OSV.dev database directly — no local DB to keep fresh.
Inline new BigDecimal("100") hiding business logic constants. PMD's AvoidDecimalLiteralsInBigDecimalConstructor + magic-numbers ruleset surface the exact lines.
Run it on your Java repo.
Install in one line, scan in under a minute. No account required.
Scan another language
Cross-cutting checks: secret scanning · dependency vulnerability scanning · AI code review