Home

Awesome

News

<br /> <br /> <br /> 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.

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 SVFSetup GuideUser GuideDeveloper Guide
AboutSetupUserDeveloper
Introducing SVF -- what it does and how we design itA step by step setup guide to build SVFCommand-line options to run SVF, get analysis outputs, and test SVF with an example or PTABenDetailed technical documentation and how to write your own analyses in SVF or use SVF as a lib for your tool
<br /> <br /> <p>We release SVF source code in the hope of benefiting others. You are kindly asked to acknowledge usage of the tool by citing some of our publications listed http://svf-tools.github.io/SVF, especially the following two: </p>

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 />