Browse by type


source ./build.sh in your terminal, that's it!SVF is a static value-flow analysis tool for LLVM-based languages. SVF (CC'16) is able to perform * AE (abstract execution): cross-domain execution (ICSE'24), recursion analysis (ECOOP'25) typestate analysis (FSE'24); * WPA (whole program analysis): field-sensitive (SAS'19), flow-sensitive (CGO'21, OOPSLA'21) analysis; * DDA (demand-driven analysis): flow-sensitive, context-sensitive points-to analysis (FSE'16, TSE'18); * MSSA (memory SSA form construction): memory regions, side-effects, SSA form (JSS'18); * SABER (memory error checking): memory leaks and double-frees (ISSTA'12, TSE'14, ICSE'18); * MTA (analysis of multithreaded programs): value-flows for multithreaded programs (CGO'16); * CFL (context-free-reachability analysis): standard CFL solver, graph and grammar (OOPSLA'22, PLDI'23); * SVFIR and MemoryModel (SVFIR): SVFIR, memory abstraction and points-to data structure (SAS'21); * Graphs: generating a variety of graphs, including call graph, ICFG, class hierarchy graph, constraint graph, value-flow graph for static analyses and code embedding (OOPSLA'20, TOSEM'21)
We release the SVF source code with the hope of benefiting the open-source community. You are kindly requested to acknowledge usage of the tool by referring to or citing relevant publications above.
SVF's doxygen document is available here.
| About SVF | Setup Guide | User Guide | Developer Guide |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| Introducing SVF -- what it does and how we design it | A step by step setup guide to build SVF | Command-line options to run SVF, get analysis outputs, and test SVF with an example or PTABen | Detailed technical documentation and how to write your own analyses in SVF or use SVF as a lib for your tool, and the course on SVF |