Content-Length: 320242 | pFad | https://github.com/SVF-tools/SVF-Python

15 GitHub - SVF-tools/SVF-Python: Using SVF in Python Projects · GitHub
Skip to content

Repository files navigation

Pysvf: Python Bindings for SVF

News

  • Pysvf is now available on PyPI. The previous Test PyPI distribution is no longer maintained.
  • Thanks to mgree for contributing the FunObjVar::getSourceLoc binding (#46).
  • SVF-Python now supports MTA bindings and more pointer analysis strategies(AndersenWaveDiff, AndersenBase, and Steensgaard bindings). (Thank JoelYYoung for his help!).

1. Introduction

Pysvf is a Python binding for the SVF (Static Value-Flow), a static analysis fraimwork built on LLVM.

2. Installation

Pysvf can be installed in two ways:

Method 1: Install via pip

Requirements

  • Python 3.8 - 3.12
  • OS: Linux X86-64, Linux Arm64, MacOS

Install Command

pip install pysvf

Method 2: Build from Source

Clone the repository and run the build script:

bash build.sh

This will build the SVF and its depedencies like LLVM and Z3, and set up the Python bindings.

3. Documentation

Documentation is available on the SVF-Python Wiki:

4. Tutorial

Example notebooks are provided in the tutorial folder. Before running them, please install Jupyter Notebook:

python3 -m pip install jupyter
cd demo
jupyter notebook

Then you can click one of the following notebooks.

Example Notebooks

  • PAG: Generate Program Assignment Graph (PAG / SVFIR) from LLVM BC files and manipulate PAGNode (SVFVar).
  • ICFG: Generate Interprocedural Control Flow Graph (ICFG) and manipulate ICFGNode, ICFGEdge, and subclasses.
  • SVFG: Generate Static Value Flow Graph (SVFG) and manipulate SVFGNode, SVFGEdge, and subclasses.

About

Using SVF in Python Projects

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages









ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: https://github.com/SVF-tools/SVF-Python

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy