Skip to main content

Static analysis for Java, shipped as a self-contained native binary (no JVM required).

Project description

logo

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

codeanalyzer_java-2.3.7.tar.gz (6.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

codeanalyzer_java-2.3.7-py3-none-musllinux_1_2_x86_64.whl (94.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

codeanalyzer_java-2.3.7-py3-none-manylinux_2_28_x86_64.whl (94.2 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

codeanalyzer_java-2.3.7-py3-none-manylinux_2_28_aarch64.whl (91.6 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

codeanalyzer_java-2.3.7-py3-none-macosx_11_0_x86_64.whl (92.7 MB view details)

Uploaded Python 3macOS 11.0+ x86-64

codeanalyzer_java-2.3.7-py3-none-macosx_11_0_arm64.whl (90.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

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

Hashes for codeanalyzer_java-2.3.7.tar.gz
Algorithm Hash digest
SHA256 88864154b39cba84ed32e1ea9524a2beefbc92ae70893aa16e0c5453172667f5
MD5 2e678ba3ce79709d4123aae98cd18828
BLAKE2b-256 972d1f72f6fb033322ec8cd3cd5b8654ed913e2903ea162f554d03c371a6d2e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for codeanalyzer_java-2.3.7.tar.gz:

Publisher: release-pypi.yml on codellm-devkit/codeanalyzer-java

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codeanalyzer_java-2.3.7-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for codeanalyzer_java-2.3.7-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c6992c4dc8de13831234e8dcbc1e19494e5fec098cef74c51fc14908663c1039
MD5 0b4b59393387affcad1259f4811402ee
BLAKE2b-256 990b22caaa110f714ef51ab0d47cdc1df76a1edfacbd6a23e999b0ee152c0bc1

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codeanalyzer_java-2.3.7-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for codeanalyzer_java-2.3.7-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8e17c1f28fffdc9af322106ee7a7e10af8b2625dabb1f18df47b9ff85ba7079b
MD5 779fb51657eef871994e68c4cf099279
BLAKE2b-256 2681a8e9a460938d4a5256d7aae5aab4eb62b11c8436454483c4691e359928a2

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codeanalyzer_java-2.3.7-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for codeanalyzer_java-2.3.7-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ff2fc801d1a2db0feffc19620d6ff1c131bcd33a01564d6e9a345a1d82402237
MD5 8f959771c5249fbb88deeb33f2f64e2c
BLAKE2b-256 36c9e139939ff8810ce4077b570a27318a23e937b8a955ccb6bb5b990c4cc6be

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codeanalyzer_java-2.3.7-py3-none-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for codeanalyzer_java-2.3.7-py3-none-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 c586165256e697e314c18e58e5052584bc623a4852ac2efd9e361ee7970e3baf
MD5 bcd266a836414ac7b5b1429963d22054
BLAKE2b-256 71cd58f6f1335d7e93b467dacf48260822913e3c8c8c4cce597f7b11081eec28

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codeanalyzer_java-2.3.7-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for codeanalyzer_java-2.3.7-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 679ee5572fdaa5c9a96aba8689c59c13a146d56ebd8dca82b682efdde7f58df0
MD5 2ce43c71dcbf1d657d014f1eb093dc47
BLAKE2b-256 2b64a8be26c7a7ae4edce3f0ab91cb0d39cf15f8cc34c9212476d437bdf963f1

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page