Intermediate Representations
Lotus provides intermediate representations for control-flow, dependence, and value-flow analyses across program abstractions.
- ICFG — Interprocedural Control Flow Graph
- Overview
- Key Features
- Components
- Usage
- Integration
- PDG — Program Dependence Graph
- Overview
- Core Passes
- Unified Query API
- High-Level Usage
- lotus-ir-pdg-query Analysis Mode
- SSI — Static Single Information
- Overview
- Key Features
- SSI Formalism
- Components
- SSI Instructions
- Algorithm
- Usage
- Integration
- vSSA — Variable Static Single Assignment
- Overview
- Key Features
- vSSA Instructions
- Algorithm
- Components
- Usage
- Integration with SRAA
- Example
- References
- SVFG — Sparse Value-Flow Graph
- Overview
- Key Features
- Node Types
- Edge Types
- Architecture
- Usage
- Integration
- Components
- References
- UseTraceSSA — Ordered Use-History Overlay
- Overview
- Representation and Core Abstractions
- Query Engine
- Bug Detection
- Tools and Integration
- Performance and Deferred Reports
- GVFG
- GSA — Gated SSA
- Overview
- Key Features
- Core Types
- Passes
- Usage
- Command-Line Options
- Behavior Notes
- ShadowMem SSA — Sea-DSA Shadow Memory Queries
- Overview
- Key Features
- Shadow Memory Instructions
- Components
- Usage
- Integration
- Path Program
- UFG — Universal Flow Graph
- Overview
- Architecture and Construction
- Search Engine and Defect Detection
- Context Sensitivity and Budgets