awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
SVF-tools avatar

SVF-tools/SVF

0
View on GitHub↗
1,684 stars·493 forks·C++·10 viewssvf-tools.github.io/SVF↗

SVF

SVF is an open-source static program analysis framework and points-to analysis library that tracks memory references, variable aliases, and data dependencies across whole programs. The platform translates compiled intermediate code formats into unified internal representations, constructing constraint graphs, call graphs, and control-flow graphs to model interprocedural execution behavior and memory state.

The framework incorporates specialized engines for flow-sensitive, flow-insensitive, and context-sensitive pointer analysis alongside sparse value-flow graph generation. It features memory layout modeling, static single assignment conversions for address-taken variables, and points-to set deduplication primitives designed to conserve system memory during large-scale program evaluations. Performance optimization utilities cache calculation results and short-circuit redundant computations through indirect identifiers, while parallel execution capabilities distribute analysis workloads across multiple threads.

The software supports comprehensive static analysis tasks including software vulnerability detection, memory safety error identification, information flow tracking, and multithreaded program analysis. Users can generate detailed metrics, export graph visualizations in standard formats, and query program dependence information using custom driver scripts. The library can be compiled from source or deployed within containerized environments.

Features

  • Pointer Analysis Executors - Executes pointer analysis algorithms on source code to compute points-to relations across programs.
  • Source Pointer Trackers - Calculates memory pointer relationships across programs using sensitive algorithms to trace data flow.
  • Static Code Analysis - Analyzes source code and intermediate representations to compute points-to information, build program graphs, and inspect dependencies.
  • Static Analysis Frameworks - An open-source static analysis framework that computes pointer points-to information, call graphs, and value-flow graphs for source code.
  • Vulnerability Detection - Identifies security flaws, memory leaks, and unsafe operations by tracking data flows from sources to sensitive sinks.
  • Static Call Graph Generators - Constructs visual diagrams of function call relationships to illustrate interprocedural control flow.
  • Points-To Analysis Engines - A pointer analysis library that tracks memory references and variable aliases across whole programs using flow- and context-sensitive algorithms.
  • Points-To Calculators - Performs flow-insensitive or flow-sensitive analysis to determine memory locations referenced by pointers.
  • Program Graph Constructions - Transforms program instructions into constraint graphs where nodes represent pointers and edges represent dependencies.
  • Constraint Graph Solvers - Builds constraint graphs for inclusion-based pointer analysis by iteratively resolving and adding copy edges.
  • Customizable Solvers - Determines points-to relationships using customizable data structures and algorithms such as flow-sensitive solvers.
  • Intermediate Representation Translation - Converts source code into language-independent intermediate formats and builds internal code graphs.
  • Interprocedural Pointer Analysis - Investigates memory pointer relationships, alias sets, and points-to relations using flow-insensitive and flow-sensitive solvers.
  • Pointer Relationship Mappers - Transforms source code into constraint graphs and solvers to compute points-to information.
  • Constraint Graph Solvers - Computes inclusion-based points-to relations by iteratively resolving copy edges over large constraint networks until reaching a fixed point.
  • Software Vulnerability Detectors - Identifies source-sink related programming errors and memory safety issues using abstract execution techniques.
  • Control-Flow Graph Generation - Builds interprocedural control flow graphs that map out execution paths and basic block transitions.
  • Value-Flow Graph Generators - A compiler-based tool that constructs sparse value-flow representations and control flow graphs to detect bugs, memory leaks, and information flows.
  • Sparse Value-Flow Graph Generations - Builds directed graphs capturing definition-use chains for top-level pointers and address-taken objects.
  • Value-Flow Graph Generations - Constructs interprocedural sparse value-flow graphs capturing definition-use chains for pointers and memory objects.
  • Sparse Value-Flow Graph Constructions - Builds directed graphs capturing precise data dependencies and variable modifications to enable scalable interprocedural taint and security tracking.
  • Static Analysis - Examines source code to compute points-to relations, data dependencies, and value flows across whole programs.
  • Flow-Sensitive Analysis - Performs static points-to analysis on source code using versioned staged techniques to track pointer values accurately.
  • Intermediate Representation Analysis - Processes compiled intermediate representation files as input to execute static analysis passes.
  • Interprocedural Control Flow Mappings - Constructs connected function call boundaries and basic block transition paths to model whole-program execution behavior.
  • Memory - Converts address-taken variables and indirect memory accesses into explicit definition-use chains using inserted use and change functions.
  • Memory SSA Form Constructions - Annotates indirect memory accesses with explicit definition and use functions to convert address-taken variables into static single assignment form.
  • Custom Pointer Analysis Builders - Constructs flow- and field-insensitive inclusion-based pointer analyses with concise driver programs.
  • Memory Layout and Allocation Modelings - Parses source code to construct symbol tables and abstract memory objects capturing structure fields, array strides, and allocation sites.
  • Sensitive Data Flow Detection - Traces data movement from designated source points to sensitive sink targets using value-flow graph representations.
  • Value-Flow Mappers - Builds interprocedural side-effect annotations and alias sets using points-to results to track variable modification.
  • Analysis Graph Exporters - Generates analysis graphs including call graphs and value-flow graphs in standard formats for external rendering.
  • Program Visualizations and Metrics - Generates graph representations such as call graphs and value-flow graphs alongside performance and memory statistics.
  • Memory Error Detection - Identifies memory leaks, double frees, and other unsafe memory operations through static program analysis.
  • Program Dependence Query Engines - Inspects points-to relationships and program dependence information programmatically using custom driver scripts.
  • Code Structure Visualizations - Produces call graphs and control flow graphs to visualize program structure and data dependencies.

Star history

Star history chart for svf-tools/svfStar history chart for svf-tools/svf

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does svf-tools/svf do?

SVF is an open-source static program analysis framework and points-to analysis library that tracks memory references, variable aliases, and data dependencies across whole programs. The platform translates compiled intermediate code formats into unified internal representations, constructing constraint graphs, call graphs, and control-flow graphs to model interprocedural execution behavior and memory state.

What are the main features of svf-tools/svf?

The main features of svf-tools/svf are: Pointer Analysis Executors, Source Pointer Trackers, Static Code Analysis, Static Analysis Frameworks, Vulnerability Detection, Static Call Graph Generators, Points-To Analysis Engines, Points-To Calculators.

What are some open-source alternatives to svf-tools/svf?

Open-source alternatives to svf-tools/svf include: crytic/slither. golang/tools — This project is a collection of official toolsets and server implementations designed for the parsing, formatting, and… uber-go/nilaway — Nilaway is a static analysis tool and linter plugin for Go designed to identify potential nil pointer dereferences in… facebook/infer — Infer is a static analysis toolset for Java, C, C++, and Objective-C designed to detect memory leaks, null… jshint/jshint — JSHint is a JavaScript static analysis tool and linter designed to detect errors and enforce coding standards. It… scottrogowski/code2flow — code2flow is a static program flow mapper and source code call graph generator. It analyzes source code to produce…

Open-source alternatives to SVF

Similar open-source projects, ranked by how many features they share with SVF.
  • crytic/slithercrytic avatar

    crytic/slither

    6,141View on GitHub↗
    Pythonethereumsoliditystatic-analysis
    View on GitHub↗6,141
  • golang/toolsgolang avatar

    golang/tools

    7,970View on GitHub↗

    This project is a collection of official toolsets and server implementations designed for the parsing, formatting, and semantic analysis of the Go programming language. It includes a language server that provides real-time code intelligence and automated editing capabilities to editors via the Language Server Protocol. The toolset provides a suite of utilities for source code formatting and static analysis. This includes automated standardization of code layout, import organization, and the generation of string representation methods for enumerated types. The project covers broad static anal

    Go
    View on GitHub↗7,970
  • uber-go/nilawayuber-go avatar

    uber-go/nilaway

    3,765View on GitHub↗

    Nilaway is a static analysis tool and linter plugin for Go designed to identify potential nil pointer dereferences in source code to prevent runtime panics. It functions as an inter-procedural pointer analyzer that tracks data flow across functions and packages to detect memory safety issues. The tool differentiates itself by tracking pointer states through anonymous functions, closures, and struct initializations. It employs a pointer analysis framework that monitors how values flow through a program to determine if a variable is safe to dereference at a specific point. The analyzer can be

    Gogonil-pointernilability
    View on GitHub↗3,765
  • facebook/inferfacebook avatar

    facebook/infer

    15,646View on GitHub↗

    Infer is a static analysis toolset for Java, C, C++, and Objective-C designed to detect memory leaks, null dereferences, and resource bugs. It functions as a multi-language bug finder that identifies race conditions, deadlocks, and memory safety issues by translating source code into a common intermediate representation for analysis. The project distinguishes itself through an inter-procedural data flow analyzer that tracks movement between sources and sinks to detect tainted flows and generate data flow graphs. It also includes a framework for verifying temporal properties and reachability u

    OCamlccode-qualitycpp
    View on GitHub↗15,646
See all 30 alternatives to SVF→

Curated searches featuring SVF

Hand-picked collections where SVF appears.
  • Code property graph analysis
  • Static Analysis Security Testing Tools