SyntaxFlow 简介
SyntaxFlow 是 Yaklang 出品的编译器级高级静态分析语言。基于 Yaklang SSA 数据库的专用查询语言,静态代码行为分析的专用 DSL,为代码分析提供强大支持。
info
SyntaxFlow 致力于解决静态分析中的各类难题。通过抹除语言 AST 特性、赋值操作,将分支与循环编译为基本块和 Phi 结构,构建统一的分析模型。
支持特性
基础分析能力
- 不完整代码容错处理
- 精确/模糊/方法定向搜索
- SSA 格式数据流分析
- Use-Def 链递归分析
控制流分析
- Phi 指令处理控制流
- 分支与循环基本块转换
- 上下文敏感分析
- 函数栈敏感分析
面向对象分析
- OOP 到 SSA 格式转换
- 对象跨过程追踪
- Java 注解语义分析
- 框架代码入口识别
多语言架构
- Yaklang/Java 生产级支持
- PHP/JavaScript 实验支持
- 统一中间表示抽象
- 通用语言分析框架
过程间分析
- 复杂数据流追踪
- 跨过程调用分析
- OOP 方法间分析
- 上下文敏感分析
分析结果展示
- Sqlite 符号表存储
- IrCode 标准化表示
- 数据流 DOT 图导出
- 分析步骤可视化