callchain-tool

Analyze Java method callchains with caller/callee context using Joern.

Updated Aug 26, 2025
One-click install
npx skills add https://github.com/ThonkTank/Salt-Marcher --skill callchain-tool
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: callchain-tool
Source: https://github.com/ThonkTank/Salt-Marcher/tree/main/tools/quality/skills/callchain-tool
Command: npx skills add https://github.com/ThonkTank/Salt-Marcher --skill callchain-tool

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires joern, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill provides static analysis of Java method callchains, offering method-level caller/callee context for a selected Java method in the SaltMarcher repository.

Core Features & Use Cases

  • Method-Level Static Analysis: Offers static caller/callee context for Java methods.
  • Use Case: Before setting up, indexing, rendering, interpreting, or citing SaltMarcher's tools/callchain/ output, or whenever caller/callee context, callchains, Joern, or method-level static-analysis context could help a SaltMarcher task.

Quick Start

Run the setup for Joern if it's missing:

tools/callchain/setup-joern.sh

Then, build or refresh the code property graph before rendering a callchain:

JOERN_HOME=build/callchain/joern/joern-cli tools/callchain/index.sh --refresh

Frequently Asked Questions about callchain-tool

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I analyze Java method callchains for code review?

Java method callchains are analyzed using static analysis to provide caller and callee context for selected methods. This approach supports code review and refactoring by mapping method-level dependencies within Java projects.

Do I need Joern to perform static callchain analysis on Java projects?

Yes, Joern is required to build a code property graph for static callchain analysis. The Skill depends on Joern to parse and index the Java source code before rendering caller and callee context.

How do I set up and index a Java codebase for dependency analysis?

Run the setup script to install Joern, then execute the indexing script with the refresh flag. This builds the code property graph required to render method callchains and analyze dependencies.

What is method-level static analysis in Java?

Method-level static analysis in Java extracts caller and callee relationships without executing code. It generates callchain context to aid dependency analysis and refactoring decisions.

Can I use this static analysis approach for Java refactoring?

Yes, static callchain analysis is applicable for Java refactoring. By providing caller and callee context for selected methods, it clarifies dependency impacts before modifying code.

What are the limitations of static callchain analysis?

Static callchain analysis depends on Joern's code property graph and requires indexing before rendering. It provides static caller and callee context and does not capture runtime dynamic dispatch behaviors.