name: data-flow-analysis-framework
description: Design and implement data-flow analyses for compiler optimization
allowed-tools:
- Bash
- Read
- Write
- Edit
- Glob
- Grep
metadata:
specialization: computer-science
domain: science
category: compiler-optimization
phase: 6
graph:
domains: [domain:computer-science]
specializations: [specialization:theoretical-computer-science]
skillAreas: [skill-area:compiler-implementation, skill-area:language-design, skill-area:graph-algorithms]
workflows: [workflow:research-grant-lifecycle]
roles: [role:research-engineer, role:computational-scientist]
Data Flow Analysis Framework
Purpose
Provides expert guidance on designing and implementing data-flow analyses for compiler optimization and program analysis.
Capabilities
- Forward/backward analysis specification
- Lattice definition and verification
- Transfer function generation
- Fixpoint computation (worklist algorithm)
- Analysis soundness verification
- Interprocedural analysis
Usage Guidelines
- Lattice Design: Define abstract domain and lattice
- Transfer Functions: Define transfer functions for statements
- Analysis Direction: Specify forward or backward
- Fixpoint: Implement worklist algorithm
- Verification: Verify soundness of analysis
Tools/Libraries
- LLVM
- GCC internals
- Soot
- WALA