What is SVF?

SVF is a static tool that enables scalable and precise interprocedural dependence analysis for C and C++ programs. SVF allows value-flow construction and pointer analysis to be performed iteratively, thereby providing increasingly improved precision for both.

What kind of analyses does SVF provide?

License

GPLv3

How to setup SVF?

Please download the source code of SVF and refer to this step-by-step guide to setup SVF.

How to run SVF?

SVF analyzes a program by taking the LLVM IR of the program as its input. Please refer to this user guide to run SVF with a simple example and generate the outputs of each analysis pass in your local machine.

Alternatively, we have also prepared a virtual machine image for you to run SVF on any machine with VirtualBox installed. Please refer to this step-by-step guide to try SVF in a VM.

How does SVF work internally?

Please refer to this wiki documentation, doxygen code manual and the following publications to understand the internal working of SVF.

Publications

Yulei Sui and Jingling Xue. On-Demand Strong Update Analysis via Value-Flow Refinement, ACM SIGSOFT International Symposium on the Foundation of Software Engineering (FSE'16)

Yulei Sui and Jingling Xue. SVF: Interprocedural Static Value-Flow Analysis in LLVM, 25th International Conference on Compiler Construction (CC'16)

Yulei Sui, Peng Di and Jingling Xue. Sparse Flow-Sensitive Pointer Analysis for Multithreaded Programs, International Symposium on Code Generation and Optimization (CGO'16)

Yulei Sui, Ding Ye, and Jingling Xue. Detecting Memory Leaks Statically with Full-Sparse Value-Flow Analysis, IEEE Transactions on Software Engineering (TSE'14)

Yulei Sui, Sen Ye and Jingling Xue. Region-based Selective Flow-Sensitive Pointer Analysis, 21th International Static Analysis Symposium (SAS'14)

Ding Ye, Yulei Sui, and Jingling Xue. Accelerating Dynamic Detection of Uses of Undefined Values with Static Value-Flow Analysis, 12th Annual IEEE/ACM International Symposium on Code Generation and Optimization(CGO'14)

Yulei Sui, Ding Ye, and Jingling Xue. Static Memory Leak Detection Using Full-Sparse Value-Flow Analysis, 2012 International Symposium on Software Testing and Analysis (ISSTA'12)

Contacts

Any comments, contributions and collaborations are welcomed. Please contact Yulei Sui or Jingling Xue if you have any questions.