GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - SVF-tools/SVF: Static Value-Flow Analysis Framework for Source Code

BranchesTags
Open more actions menu

Latest commit

 

History

4,700 Commits
4,700 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
cmake
cmake
 
 
docs
docs
 
 
svf-llvm
svf-llvm
 
 
svf
svf
 
 
.clang-format
.clang-format
 
 
.cmake-format.py
.cmake-format.py
 
 
.codecov.yml
.codecov.yml
 
 
.editorconfig
.editorconfig
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
CMakeLists.txt
CMakeLists.txt
 
 
Dockerfile
Dockerfile
 
 
LICENSE.TXT
LICENSE.TXT
 
 
README.md
README.md
 
 
build.sh
build.sh
 
 
index.html
index.html
 
 
package.json
package.json
 
 
setup.sh
setup.sh
 
 

Repository files navigation

SVF provides reusable abstractions, graphs, and solvers for analyzing LLVM IR.

News

  • MSli, an on-demand program slicing tool for multithreaded programs, is now available in SVF/MTA.
  • SVF now supports LLVM-22 (Contributed by Giorgio).
  • SVF now supports LLVM-21 (Contributed by cjsrxzdyzds).
  • SVF now supports new build system (Thank Johannes for his help!).
  • SVF-Python is now available, enabling developers to write static analyzers in Python by leveraging the SVF library (Contributed by Jiawei Wang).
  • New course Software Security Analysis for learning code analysis and verification with SVF for fun and expertise!
  • SVF now supports LLVM-16.0.0 with opaque pointers (Contributed by Xiao Cheng).
  • Modernize SVF's CMake (Contributed by Johannes).
Older news
  • SVF now supports LLVM-13.0.0 (Thank Shengjie Xu for his help!).
  • Object clustering published in our OOPSLA paper is now available in SVF
  • Hash-Consed Points-To Sets published in our SAS paper is now available in SVF
  • Learning or teaching Software Analysis? Check out SVF-Teaching!
  • SVF now supports LLVM-12.0.0 (Thank Xiyu Yang for her help!).
  • VSFS published in our CGO paper is now available in SVF
  • TypeClone published in our ECOOP paper is now available in SVF
  • SVF now uses a single script for its build. Just type source ./build.sh in your terminal, that's it!
  • SVF now supports LLVM-10.0.0!
  • We thank bsauce for writing a user manual of SVF (link1 and link2) in Chinese
  • SVF now supports LLVM-9.0.0 (Thank Byoungyoung Lee for his help!).
  • SVF now supports a set of field-sensitive pointer analyses.
  • Use SVF as an external lib for your own project (Contributed by Hongxu Chen).
  • SVF now supports LLVM-7.0.0.
  • SVF now supports Docker. Try SVF in Docker!
  • SVF now supports LLVM-6.0.0 (Contributed by Jack Anthony).
  • SVF now supports LLVM-4.0.0 (Contributed by Jared Carlson. Thank Jared and Will for their in-depth discussions about updating SVF!)
  • SVF now supports analysis for C++ programs.

Documentation

About SVF Setup Guide User Guide Developer Guide
About Setup User Developer
Introducing SVF -- what it does and how we design it A step by step setup guide to build SVF Command-line options to run SVF, get analysis outputs, and test SVF with an example or PTABen Detailed technical documentation and how to write your own analyses in SVF or use SVF as a lib for your tool, and the course on SVF

SVF's doxygen document is available here.

Features and Publications

SVF (CC'16) is able to perform

  • AE (abstract execution): cross-domain execution (ICSE'24), selective widening (OOPSLA'25), recursion analysis (ECOOP'25), typestate analysis (FSE'24);
  • WPA (whole program analysis): field-sensitive (SAS'19), flow-sensitive (CGO'21, OOPSLA'21) analysis;
  • DDA (demand-driven analysis): flow-sensitive, context-sensitive points-to analysis (FSE'16, TSE'18);
  • MSSA (memory SSA form construction): memory regions, side-effects, SSA form (JSS'18);
  • SABER (memory error checking): memory leaks and double-frees (ISSTA'12, TSE'14, ICSE'18);
  • MTA (analysis of multithreaded programs): value-flows for multithreaded programs (CGO'16), on-demand program slicing (ISSTA'26);
  • CFL (context-free-reachability analysis): standard CFL solver, graph and grammar (OOPSLA'22, PLDI'23);
  • SVFIR and MemoryModel (SVFIR): SVFIR, memory abstraction and points-to data structure (SAS'21);
  • Graphs: generating a variety of graphs, including call graph, ICFG, class hierarchy graph, constraint graph, value-flow graph for static analyses and code embedding (OOPSLA'20, TOSEM'21)

We release the SVF source code with the hope of benefiting the open-source community. If you find SVF helpful, please kindly acknowledge the use of the tool or the relevant publications above.

About

Static Value-Flow Analysis Framework for Source Code

svf-tools.github.io/SVF/

Topics

abstract-interpretationbug-detectioncode-analysiscode-verificationdependency-analysisllvmpointer-analysispoints-to-analysissource-code-analysisstatic-analysisstatic-analyzerstatic-value-flow

Resources

Readme
License
Activity

Stars

1.7k stars

Watchers

55 watching

Forks

499 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.