SVF: interprocedural static value-flow analysis in LLVM

4 years 10 months ago
SVF: interprocedural static value-flow analysis in LLVM
This paper presents SVF, a tool that enables scalable and precise interprocedural Static Value-Flow analysis for C programs by leveraging recent advances in sparse analysis. SVF, which is fully implemented in LLVM (version 3.7.0), allows value-flow construction and pointer analysis to be performed in an iterative manner, thereby providing increasingly improved precision for both. SVF accepts points-to information generated by any pointer analysis (e.g., Andersen’s analysis) and constructs an interprocedural memory SSA form, in which the def-use chains of both top-level and address-taken variables are captured. Such value-flows can be subsequently exploited to support various forms of program analysis or enable more precise pointer analysis (e.g., flow-sensitive analysis) to be performed sparsely. By dividing a pointer analysis into three loosely coupled components: Graph, Rules and Solver, SVF provides an extensible interface for users to write their own solutions easily. Moreove...
Yulei Sui, Jingling Xue
Added 31 Mar 2016
Updated 31 Mar 2016
Type Journal
Year 2016
Where CC
Authors Yulei Sui, Jingling Xue
Comments (0)