Soba
Simple Objects for Bytecode Analysis -- A wrapper of ASM library
Install / Use
/learn @takashi-ishio/SobaREADME
SOBA - Simple Objects for Bytecode Analysis
This class library is a wrapper of ASM library to execute simple control-flow and data-flow analysis on Java bytecode. Compared with WALA and Soot, this library implements relatively simple features. Instead, the library requires a smaller number of parameters.
A Japanese article describes its technical background: https://doi.org/10.11309/jssst.33.4_4
Build
The library uses Maven to build the system.
mvn package
Quick analysis
The soba.util.debug.DumpClass is an example main class that extracts control-flow, control dependence and data dependence from given classes.
java -jar soba-0.2.0.jar path/to/ClassFiles
The command reports a list of instructions and their dependencies for each method in the given classes.
Examples
The example directory provides example code to extract a call graph with a resolution of dynamic binding using CHA (a simple class hierarchy) and VTA (Variable Type Analysis, a kind of data-flow analysis).
Related Skills
node-connect
354.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
112.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
354.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
354.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
