Skip to content

Latest commit

 

History

History
42 lines (29 loc) · 1.58 KB

README.md

File metadata and controls

42 lines (29 loc) · 1.58 KB

SUPA: Value-flow-based demand-driven pointer analysis

The source code of SUPA now has been merged to SVF.

  1. Download source code SVF

  2. Build SVF following https://github.com/svf-tools/SVF/wiki/Setup-Guide#getting-started

  3. Running SUPA with its executable bin/dvf

  • 3.1 Flow-sensitive SUPA (querying points-to values of all pointers in a program)
dvf -dfs -query=all -flowbg=10000 example.bc
  • 3.2 Flow- and context-sensitive SUPA (querying points-to values of all the function pointers in a program)
dvf -cxt -query=funptr -maxcxt=3 -flowbg=10000 -cxtbg=10000 example.bc
Options Description
-query specify a set of queries for demand-driven analysis)
-dfs flow- and field-sensitive analysis
-cxt context-, flow- and field-sensitive analysis
-flowbg flow-sensitive analysis budget (number of value-flow edges traversal)
-cxtbg context-sensitive analysis budget (number of value-flow edges traversal)
-maxcxt k-limiting context-sensitivity
-stat print statistics
-print-query-pts print points-to


Refererences:

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. Value-Flow-Based Demand-Driven Pointer Analysis for C and C++ , IEEE Transactions on Software Engineering (TSE'18)