* <b>[TypeClone](https://github.com/SVF-tools/SVF/wiki/TypeClone) published in our [ECOOP paper](https://yuleisui.github.io/publications/ecoop20.pdf) is now available in SVF </b> * <b>SVF now uses a single script for its build. Just type [`source ./build.
npm install svf-tools

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 |
| ------------- |:-------------:| -----:|-----:|
| !About| !Setup | !User | !Developer
| 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 |