跳到主要内容

SyntaxFlow 简介

SyntaxFlow 是 Yaklang 出品的编译器级高级静态分析语言。基于 Yaklang SSA 数据库的专用查询语言,静态代码行为分析的专用 DSL,为代码分析提供强大支持。

信息

SyntaxFlow 致力于解决静态分析中的各类难题。通过抹除语言 AST 特性、赋值操作,将分支与循环编译为基本块和 Phi 结构,构建统一的分析模型。

支持特性

基础分析能力

  • 不完整代码容错处理
  • 精确/模糊/方法定向搜索
  • SSA 格式数据流分析
  • Use-Def 链递归分析

控制流分析

  • Phi 指令处理控制流
  • 分支与循环基本块转换
  • 上下文敏感分析
  • 函数栈敏感分析

面向对象分析

  • OOP 到 SSA 格式转换
  • 对象跨过程追踪
  • Java 注解语义分析
  • 框架代码入口识别

多语言架构

  • Yaklang/Java 生产级支持
  • PHP/JavaScript 实验支持
  • 统一中间表示抽象
  • 通用语言分析框架

过程间分析

  • 复杂数据流追踪
  • 跨过程调用分析
  • OOP 方法间分析
  • 上下文敏感分析

分析结果展示

  • Sqlite 符号表存储
  • IrCode 标准化表示
  • 数据流 DOT 图导出
  • 分析步骤可视化