Open
Description
Motivation
Currently, SVF constructs the Pointer Assignment Graph (PAG) from LLVM IR every time. For large codebases, this process can be time-consuming, especially when developers iterate frequently or conduct downstream analysis (e.g., on value-flow or memory errors). I propose adding a functionality to serialize and reuse PAG results via a structured cache file (e.g., JSON or protobuf format), similar in spirit to CodeQL databases.
Proposed Features
- Cache PAG to a dir like .cache through command line options or automatically. Or explictly create PAG database like CodeQL databases.
- Load cached PAG when starting analysis through command line options or automatically. Or launch analysis from existing database.
Benefits
- Save time for repeated runs, especially on large projects.
Implementation Plan
Not sure. I'm reading the source code and think about where to add code. May need discussion.
Metadata
Metadata
Assignees
Labels
No labels