Back to rankings

SVF-tools/SVF

C++svf-tools.github.io/SVF/

Static Value-Flow Analysis Framework for Source Code

static-analysisstatic-value-flowsource-code-analysiscode-securitypointer-analysisllvmdependency-analysiscode-analysispoints-to-analysisstatic-analyzer
Star Growth
Stars
1.7k
Forks
495
Weekly Growth
Issues
177
5001k1.5k
Jul 2015Mar 2019Nov 2022Jul 2026
README

News


Documentation


SVF is a static value-flow analysis tool for LLVM-based languages. SVF (CC'16) is able to perform

  • AE (abstract execution): cross-domain execution (ICSE'24), 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);
  • 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. You are kindly requested to acknowledge usage of the tool by referring to or citing relevant publications above.

SVF's doxygen document is available here.


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

Related repositories
WerWolv/ImHex

🔍 A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM.

C++GNU General Public License v2.0hex-editorreverse-engineering
imhex.werwolv.net
54.2k2.4k
astral-sh/ruff

An extremely fast Python linter and code formatter, written in Rust.

Rustcrates.ioMIT Licenselinterpep8
docs.astral.sh/ruff
48.8k2.3k
koalaman/shellcheck

ShellCheck, a static analysis tool for shell scripts

HaskellGNU General Public License v3.0haskellshell
shellcheck.net
39.7k1.9k
tirth8205/code-review-graph

Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.

PythonPyPIMIT Licenseai-codingclaude
code-review-graph.com
24.7k2.4k
MobSF/Mobile-Security-Framework-MobSF

Mobile Security Framework (MobSF) is an automated, all-in-one mobile application (Android/iOS/Windows) pen-testing, malware analysis and security assessment framework capable of performing static and dynamic analysis.

JavaScriptnpmGNU General Public License v3.0static-analysisdynamic-analysis
opensecurity.in
21.5k3.7k
realm/SwiftLint

A tool to enforce Swift style and conventions.

SwiftMIT Licenselinterlinting
realm.github.io/SwiftLint
19.7k2.3k
nikic/PHP-Parser

A PHP parser written in PHP

PHPPackagistBSD 3-Clause "New" or "Revised" Licensephpparser
17.5k1.1k
semgrep/semgrep

Lightweight static analysis for many languages. Find bug variants with patterns that look like source code.

OCamlGNU Lesser General Public License v2.1static-analysisstatic-code-analysis
semgrep.dev
16k999
facebook/infer

A static analyzer for Java, C, C++, and Objective-C

OCamlMIT Licensestatic-analysisstatic-code-analysis
fbinfer.com
15.7k2.1k
Konloch/bytecode-viewer

A Java 8+ Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More)

JavaMavenGNU General Public License v3.0java-decompilerapk
bytecodeviewer.com
15.6k1.3k
ast-grep/ast-grep

⚡A CLI tool for code structural search, lint and rewriting. Written in Rust

Rustcrates.ioMIT Licensecodemodlinter
ast-grep.github.io
15.1k417
analysis-tools-dev/static-analysis

⚙️ A curated list of static analysis (SAST) tools and linters for all programming languages, config files, build tools, and more. The focus is on tools which improve code quality.

Rustcrates.ioMIT Licensestatic-analysisstatic-analyzers
analysis-tools.dev
14.7k1.5k