-
Notifications
You must be signed in to change notification settings - Fork 435
SVF Design
Yulei Sui edited this page Jul 13, 2015
·
18 revisions
The framework of SVF is shown in the following figure. The source code of a program is first compiled into bit-code files using clang and then merged together using LLVM Gold Plugin at link time stage (LTO) to produce a whole-program bc file. Then interprocedural pointer analysis is performed to produce points-to information for constructing memory SSA form so that def-use chains are identified for both top and address- taken variables. The generated value-flow information can be used to support various applications (e.g., detecting memory leaks, null pointer detection). The value-flows can also be used to bootstrap more precise pointer analysis for refining value-flows in an iterative manner.