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. Learn more →
Top 18 Rust Static Analysis Projects
-
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.
-
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.
-
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.
-
phanalist
Performant static analyzer for PHP, which is extremely easy to use. It helps you catch common mistakes in your PHP code.
-
cpplumber
Static analysis tool based on clang, which detects source-to-binary information leaks in C and C++ projects
-
treeedb
Generate Soufflé Datalog types, relations, and facts that represent ASTs from a variety of programming languages.
-
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
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.
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...
Project mention: An IDE plugin for Rust that helps you focus on relevant code | news.ycombinator.com | 2023-12-14
Project mention: Pylyzer – A fast static code analyzer and language server for Python | news.ycombinator.com | 2024-04-11
Project mention: Ask HN: Anyone use a code to mindmap/flowchart tool? | news.ycombinator.com | 2024-02-24Are 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.
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.
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
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:
Rust Static Analysis related posts
- An IDE plugin for Rust that helps you focus on relevant code
- AST-grep(sg) is a CLI tool for code structural search, lint, and rewriting
- Flowistry: an IDE plugin that analyzes the information flow of Rust programs, showing whether it's possible for one piece of code to affect another
- Static Analysis Tools for C
- Static Analysis Tools for C
- Ruff v0.1.0
- PHP-Tokio – Use any async Rust library from PHP
-
A note from our sponsor - InfluxDB
www.influxdata.com | 19 Apr 2024
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 |