Awesome
News
- <b>Use SVF as an external lib for your own project (Contributed by Hongxu Chen). </b>
- <b>SVF now supports LLVM-7.0.0. </b>
- <b>SVF now supports Docker. Try SVF in Docker! </b>
- <b>SVF now supports LLVM-6.0.0 (Contributed by Jack Anthony). </b>
- <b>SVF now supports LLVM-4.0.0 (Contributed by Jared Carlson. Thank Jared and Will for their in-depth discussions about updating SVF!) </b>
- <b>SVF now supports analysis for C++ programs.</b> <br />
SVF accepts the points-to information generated by any pointer analysis (e.g., Andersen’s analysis) and constructs an interprocedural memory SSA form so that the def-use chains of both top-level and address-taken variables are captured. SVF is implemented on top of an industry-strength compiler LLVM (version 6.0.0). SVF contains a third party software package CUDD-2.5.0 (Binary Decision Diagrams (BDDs)), which is used to encode path conditions.
<br />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 |
Yulei Sui and Jingling Xue. SVF: Interprocedural Static Value-Flow Analysis in LLVM Compiler Construction (CC '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)
<br />