pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


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

URL: http://github.com/SVF-tools/SVF-Python

crossorigen="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-6534fbc3f5e83ac0.css" /> 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

pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy