Static analysis for Java, shipped as a self-contained native binary (no JVM required).
Project description
Native WALA implementation of source code analysis tool for Enterprise Java Applications.
1. Installing codeanalyzer
codeanalyzer ships as a self-contained, JVM-free native binary. No JDK, no
GraalVM, and no build step are required — just install from PyPI:
pip install codeanalyzer-java
This installs the codajv command, which runs the bundled native binary
(pip install automatically selects the wheel matching your OS/architecture).
2. Using codeanalyzer
Usage: codajv [-hvV] [--no-build] [-a=<analysisLevel>] [-b=<build>]
[-i=<input>] [-o=<output>] [-s=<sourceAnalysis>]
Convert java binary into a comprehensive system dependency graph.
-i, --input=<input> Path to the project root directory.
-s, --source-analysis=<sourceAnalysis>
Analyze a single string of java source code instead
the project.
-o, --output=<output> Destination directory to save the output graphs. By
default, the SDG formatted as a JSON will be
printed to the console.
-b, --build-cmd=<build> Custom build command. Defaults to auto build.
--no-build Do not build your application. Use this option if
you have already built your application.
-a, --analysis-level=<analysisLevel>
Level of analysis to perform. Options: 1 (for just
symbol table) or 2 (for call graph). Default: 1
-v, --verbose Print logs to console.
-h, --help Show this help message and exit.
-V, --version Print version information and exit.
-t, --target-files For each file user wants to perform source analysis on top of existing analysis.json
For example, to analyze a project and print the system dependency graph to the console:
codajv -i /path/to/java/project
Pass -o <dir> to save the output as JSON. Explore the other flags above to
control the analysis level and build behavior.
LICENSE
Copyright IBM Corporation 2023, 2024
Licensed under the Apache Public License 2.0, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file codeanalyzer_java-2.3.7.tar.gz.
File metadata
- Download URL: codeanalyzer_java-2.3.7.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88864154b39cba84ed32e1ea9524a2beefbc92ae70893aa16e0c5453172667f5
|
|
| MD5 |
2e678ba3ce79709d4123aae98cd18828
|
|
| BLAKE2b-256 |
972d1f72f6fb033322ec8cd3cd5b8654ed913e2903ea162f554d03c371a6d2e8
|
Provenance
The following attestation bundles were made for codeanalyzer_java-2.3.7.tar.gz:
Publisher:
release-pypi.yml on codellm-devkit/codeanalyzer-java
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
codeanalyzer_java-2.3.7.tar.gz -
Subject digest:
88864154b39cba84ed32e1ea9524a2beefbc92ae70893aa16e0c5453172667f5 - Sigstore transparency entry: 1754218795
- Sigstore integration time:
-
Permalink:
codellm-devkit/codeanalyzer-java@a141d997d75a75b4541ce878b289faa2e57f0a6e -
Branch / Tag:
refs/tags/v2.3.7 - Owner: https://github.com/codellm-devkit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@a141d997d75a75b4541ce878b289faa2e57f0a6e -
Trigger Event:
push
-
Statement type:
File details
Details for the file codeanalyzer_java-2.3.7-py3-none-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: codeanalyzer_java-2.3.7-py3-none-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 94.2 MB
- Tags: Python 3, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6992c4dc8de13831234e8dcbc1e19494e5fec098cef74c51fc14908663c1039
|
|
| MD5 |
0b4b59393387affcad1259f4811402ee
|
|
| BLAKE2b-256 |
990b22caaa110f714ef51ab0d47cdc1df76a1edfacbd6a23e999b0ee152c0bc1
|
Provenance
The following attestation bundles were made for codeanalyzer_java-2.3.7-py3-none-musllinux_1_2_x86_64.whl:
Publisher:
release-pypi.yml on codellm-devkit/codeanalyzer-java
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
codeanalyzer_java-2.3.7-py3-none-musllinux_1_2_x86_64.whl -
Subject digest:
c6992c4dc8de13831234e8dcbc1e19494e5fec098cef74c51fc14908663c1039 - Sigstore transparency entry: 1756391874
- Sigstore integration time:
-
Permalink:
codellm-devkit/codeanalyzer-java@68d7d8e4da8fef42fc31e8ad386f021d22cbd553 -
Branch / Tag:
refs/tags/v2.3.7 - Owner: https://github.com/codellm-devkit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@68d7d8e4da8fef42fc31e8ad386f021d22cbd553 -
Trigger Event:
push
-
Statement type:
File details
Details for the file codeanalyzer_java-2.3.7-py3-none-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: codeanalyzer_java-2.3.7-py3-none-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 94.2 MB
- Tags: Python 3, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e17c1f28fffdc9af322106ee7a7e10af8b2625dabb1f18df47b9ff85ba7079b
|
|
| MD5 |
779fb51657eef871994e68c4cf099279
|
|
| BLAKE2b-256 |
2681a8e9a460938d4a5256d7aae5aab4eb62b11c8436454483c4691e359928a2
|
Provenance
The following attestation bundles were made for codeanalyzer_java-2.3.7-py3-none-manylinux_2_28_x86_64.whl:
Publisher:
release-pypi.yml on codellm-devkit/codeanalyzer-java
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
codeanalyzer_java-2.3.7-py3-none-manylinux_2_28_x86_64.whl -
Subject digest:
8e17c1f28fffdc9af322106ee7a7e10af8b2625dabb1f18df47b9ff85ba7079b - Sigstore transparency entry: 1754218933
- Sigstore integration time:
-
Permalink:
codellm-devkit/codeanalyzer-java@a141d997d75a75b4541ce878b289faa2e57f0a6e -
Branch / Tag:
refs/tags/v2.3.7 - Owner: https://github.com/codellm-devkit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@a141d997d75a75b4541ce878b289faa2e57f0a6e -
Trigger Event:
push
-
Statement type:
File details
Details for the file codeanalyzer_java-2.3.7-py3-none-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: codeanalyzer_java-2.3.7-py3-none-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 91.6 MB
- Tags: Python 3, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff2fc801d1a2db0feffc19620d6ff1c131bcd33a01564d6e9a345a1d82402237
|
|
| MD5 |
8f959771c5249fbb88deeb33f2f64e2c
|
|
| BLAKE2b-256 |
36c9e139939ff8810ce4077b570a27318a23e937b8a955ccb6bb5b990c4cc6be
|
Provenance
The following attestation bundles were made for codeanalyzer_java-2.3.7-py3-none-manylinux_2_28_aarch64.whl:
Publisher:
release-pypi.yml on codellm-devkit/codeanalyzer-java
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
codeanalyzer_java-2.3.7-py3-none-manylinux_2_28_aarch64.whl -
Subject digest:
ff2fc801d1a2db0feffc19620d6ff1c131bcd33a01564d6e9a345a1d82402237 - Sigstore transparency entry: 1754219018
- Sigstore integration time:
-
Permalink:
codellm-devkit/codeanalyzer-java@a141d997d75a75b4541ce878b289faa2e57f0a6e -
Branch / Tag:
refs/tags/v2.3.7 - Owner: https://github.com/codellm-devkit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@a141d997d75a75b4541ce878b289faa2e57f0a6e -
Trigger Event:
push
-
Statement type:
File details
Details for the file codeanalyzer_java-2.3.7-py3-none-macosx_11_0_x86_64.whl.
File metadata
- Download URL: codeanalyzer_java-2.3.7-py3-none-macosx_11_0_x86_64.whl
- Upload date:
- Size: 92.7 MB
- Tags: Python 3, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c586165256e697e314c18e58e5052584bc623a4852ac2efd9e361ee7970e3baf
|
|
| MD5 |
bcd266a836414ac7b5b1429963d22054
|
|
| BLAKE2b-256 |
71cd58f6f1335d7e93b467dacf48260822913e3c8c8c4cce597f7b11081eec28
|
Provenance
The following attestation bundles were made for codeanalyzer_java-2.3.7-py3-none-macosx_11_0_x86_64.whl:
Publisher:
release-pypi.yml on codellm-devkit/codeanalyzer-java
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
codeanalyzer_java-2.3.7-py3-none-macosx_11_0_x86_64.whl -
Subject digest:
c586165256e697e314c18e58e5052584bc623a4852ac2efd9e361ee7970e3baf - Sigstore transparency entry: 1754218867
- Sigstore integration time:
-
Permalink:
codellm-devkit/codeanalyzer-java@a141d997d75a75b4541ce878b289faa2e57f0a6e -
Branch / Tag:
refs/tags/v2.3.7 - Owner: https://github.com/codellm-devkit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@a141d997d75a75b4541ce878b289faa2e57f0a6e -
Trigger Event:
push
-
Statement type:
File details
Details for the file codeanalyzer_java-2.3.7-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: codeanalyzer_java-2.3.7-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 90.5 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
679ee5572fdaa5c9a96aba8689c59c13a146d56ebd8dca82b682efdde7f58df0
|
|
| MD5 |
2ce43c71dcbf1d657d014f1eb093dc47
|
|
| BLAKE2b-256 |
2b64a8be26c7a7ae4edce3f0ab91cb0d39cf15f8cc34c9212476d437bdf963f1
|
Provenance
The following attestation bundles were made for codeanalyzer_java-2.3.7-py3-none-macosx_11_0_arm64.whl:
Publisher:
release-pypi.yml on codellm-devkit/codeanalyzer-java
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
codeanalyzer_java-2.3.7-py3-none-macosx_11_0_arm64.whl -
Subject digest:
679ee5572fdaa5c9a96aba8689c59c13a146d56ebd8dca82b682efdde7f58df0 - Sigstore transparency entry: 1754219080
- Sigstore integration time:
-
Permalink:
codellm-devkit/codeanalyzer-java@a141d997d75a75b4541ce878b289faa2e57f0a6e -
Branch / Tag:
refs/tags/v2.3.7 - Owner: https://github.com/codellm-devkit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@a141d997d75a75b4541ce878b289faa2e57f0a6e -
Trigger Event:
push
-
Statement type: