You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.