Rust Static Analysis

Open-source Rust projects categorized as Static Analysis

Top 18 Rust Static Analysis Projects

  • ruff

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

  • Project mention: Enhance Your Project Quality with These Top Python Libraries | dev.to | 2024-03-18

    Ruff is a Python linter that helps to identify and remove code smells. Over 700 built-in rules: Ruff includes native re-implementations of popular Flake8 plugins, like flake8-bugbear. And also built-in caching to avoid re-analyzing unchanged files.

  • 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.

  • Project mention: Static Analysis Tools for C | news.ycombinator.com | 2023-10-26

    Readers should also peruse the 'Multiple languages' section, many of the big names, Coverity, Klocwork et al. are listed there.

    see https://github.com/analysis-tools-dev/static-analysis#multip...

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • ast-grep

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

  • Project mention: AST-grep(sg) AST grep based on Treesitter | news.ycombinator.com | 2024-04-01
  • flowistry

    Flowistry is an IDE plugin for Rust that helps you focus on relevant code.

  • Project mention: An IDE plugin for Rust that helps you focus on relevant code | news.ycombinator.com | 2023-12-14
  • pylyzer

    A fast static code analyzer & language server for Python

  • Project mention: Pylyzer – A fast static code analyzer and language server for Python | news.ycombinator.com | 2024-04-11
  • crabviz

    🦀 A LSP-based interative call graph generator

  • Project mention: Ask HN: Anyone use a code to mindmap/flowchart tool? | news.ycombinator.com | 2024-02-24

    Are you looking for something like a call graph?

    There's pyan3 [1] which although doesn't support python 3.7+, I've still had luck with v1.0.4 which works better for me than its most recent version with python 3.11, but there can be some weird issues though depending on your code style.

    A quick search also turned up crabviz [2] which has support for more languages than just python.

    [1] https://github.com/Technologicat/pyan

    [2] https://github.com/chanhx/crabviz

  • crepe

    Datalog compiler embedded in Rust as a procedural macro

  • Project mention: Datalog in 100 lines of JavaScript (2022) | news.ycombinator.com | 2024-01-22
  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • shisho

    Lightweight static analyzer for several programming languages

  • debugoff

    Linux anti-debugging and anti-analysis rust library

  • phanalist

    Performant static analyzer for PHP, which is extremely easy to use. It helps you catch common mistakes in your PHP code.

  • Project mention: Traversing an AST of PHP source code. | dev.to | 2024-01-22

    Phanalist needs a way to detect when we are in the function's scope with the name tooComplex(). With pattern matching, it is super easy to detect if the statement is either: if,else,etc.. The first statement that I want to match for is class Index{ and from there, we will continue down the tree. If you think the same way as I do you know that I will be using recursion to calculate the cyclomatic complexity. After we have matched the scope of the tooComplex() function.

  • cpplumber

    Static analysis tool based on clang, which detects source-to-binary information leaks in C and C++ projects

  • fta

    Rust-based static analysis for TypeScript projects

  • Project mention: Fast TypeScript Analyzer | news.ycombinator.com | 2023-07-06
  • datadog-static-analyzer

    Datadog Static Analyzer

  • Project mention: Ask HN: Who is hiring? (November 2023) | news.ycombinator.com | 2023-11-01

    Datadog | Senior Software Engineer | NYC/Paris/Madrid | Full-Time | Static Analysis

    We are building a static analysis engine (https://github.com/DataDog/datadog-static-analyzer) that works across the development lifecycle: IDE -> git hook -> git pull request -> git push. Our product is currently in private beta (see https://www.datadoghq.com/static-analysis/) and we are working hard on expanding its capabilities.

    If you work with Rust and/or Tree-Sitter, we would love to talk to you!

    Apply here > https://careers.datadoghq.com/detail/5382867/?gh_jid=5382867

  • enderpy

    WIP: Python Type Checker and LSP 🔎

  • treeedb

    Generate Soufflé Datalog types, relations, and facts that represent ASTs from a variety of programming languages.

  • Project mention: GDlog: A GPU-Accelerated Deductive Engine | news.ycombinator.com | 2023-12-03

    https://github.com/topics/datalog?l=rust ... Cozo, Crepe

    Crepe: https://github.com/ekzhang/crepe :

    > Crepe is a library that allows you to write declarative logic programs in Rust, with a Datalog-like syntax. It provides a procedural macro that generates efficient, safe code and interoperates seamlessly with Rust programs.

    Looks like there's not yet a Python grammar for the treeedb tree-sitter: https://github.com/langston-barrett/treeedb :

    > Generate Soufflé Datalog types, relations, and facts that represent ASTs from a variety of programming languages.

    Looks like roxi supports n3, which adds `=>` "implies" to the Turtle lightweight RDF representation: https://github.com/pbonte/roxi

    FWIW rdflib/owl-rl: https://owl-rl.readthedocs.io/en/latest/owlrl.html :

    > simple forward chaining rules are used to extend (recursively) the incoming graph with all triples that the rule sets permit (ie, the “deductive closure” of the graph is computed).

    ForwardChainingStore and BackwardChainingStore implementations w/ rdflib in Python: https://github.com/RDFLib/FuXi/issues/15

    Fast CUDA hashmaps

    Gdlog is built on CuCollections.

    GPU HashMap libs to benchmark: Warpcore, CuCollections,

    https://github.com/NVIDIA/cuCollections

    https://github.com/NVIDIA/cccl

    https://github.com/sleeepyjack/warpcore

    /? Rocm HashMap

    DeMoriarty/DOKsparse:

  • progge.rs

    Program analysis playground for a simple, imperative language

  • arch_test

    Rule based architecture tests for rust

  • matrix_math

    A simple matrix math lib, it is intended to be used in my homebrew nn framework. It uses generic numeric types for all computations

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-04-11.

Rust Static Analysis related posts

Index

What are some of the best open-source Static Analysis projects in Rust? This list will help you:

Project Stars
1 ruff 26,234
2 static-analysis 12,811
3 ast-grep 5,805
4 flowistry 1,815
5 pylyzer 1,669
6 crabviz 545
7 crepe 442
8 shisho 368
9 debugoff 272
10 phanalist 99
11 cpplumber 75
12 fta 64
13 datadog-static-analyzer 64
14 enderpy 51
15 treeedb 47
16 progge.rs 33
17 arch_test 10
18 matrix_math 1
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com