VSFS - SVF-tools/SVF GitHub Wiki
Versioned Staged Flow-Sensitive Points-To Analysis
Usage
To use VSFS, use the -vfspta
option. Performing versioning is not currently supported on the optimised SVFG so the value of the -opt-svfg
option must be false.
$ wpa -vfspta -opt-svfg=false program.bc
The versioning phase is multi-threaded. To choose the number of threads, use the -versioning-threads
option (default 1; single-threaded). To use 4 threads, for example,
$ wpa -vfspta -opt-svfg=false -versioning-threads=4 program.bc
By default, SVF uses CPU time to time analyses. When using multiple threads this can be problematic depending on desired behaviour. For a better representation of actual time taken, use wall
time through the -clock-type
option.
$ wpa -vfspta -opt-svfg=false -versioning-threads=4 -clock-type=wall program.bc
For more options to improve flow-sensitive analysis performance, see the page on hash consed points-to sets and the page on object clustering.