The "Awesome Static Analysis & Code Quality" project is a curated collection of resources focused on static analysis tools and methodologies for improving code quality across various programming languages. This list encompasses a wide range of tools, libraries, and frameworks that help developers identify bugs, enforce coding standards, and ensure maintainability in their codebases. It serves as a valuable resource for both beginners looking to learn about code quality practices and experienced developers seeking advanced tools for their projects. By leveraging these resources, users can enhance their coding practices and contribute to more robust software development.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
A comprehensive set of code analysis tools, refactorings, and client libraries for C# development, built on the Roslyn compiler platform.
A static analyzer for C/C++ that detects runtime errors using abstract interpretation theory.
A static analyzer and linter for Clojure, ClojureScript, and EDN that detects errors and enforces style without executing code.
A static code analysis tool for Elixir focusing on code consistency, refactoring opportunities, and teaching best practices.
Mix tasks to simplify using Dialyzer for static type analysis in Elixir projects.
Security-focused static analysis tool for Elixir and Phoenix applications, detecting common vulnerabilities.
A static analysis tool that finds unchecked errors in Go code.
A highly extensible Go source code linter providing opinionated checks for bugs, performance, and style issues.
A Go tool that calculates cyclomatic complexity of functions to identify code needing refactoring.
A stricter Go code formatter that enforces additional formatting rules beyond gofmt while maintaining compatibility.
A static analysis tool for Go that finds vulnerabilities using SSA form and source-to-sink tracing to reduce false positives.
A deprecated linter for Go source code that checks for style violations according to Go conventions.
A Go tool that runs multiple linters concurrently to perform static analysis, unit testing, and generate comprehensive code quality reports.
Automated code review tool that integrates with any linter and posts results as comments on pull requests.
A tool for suggesting possible improvements to Haskell code, such as using alternative functions, simplifying code, and spotting redundancies.
A tool that automatically reformats Java source code to comply with Google Java Style guidelines.
A fast, annotation-based null checker for Java that eliminates NullPointerExceptions with low build-time overhead.
A JavaScript code quality and coverage tool that enforces strict coding standards and generates test coverage reports.
An opinionated, zero-config ESLint wrapper for JavaScript and TypeScript with great defaults and automatic fixes.
A static code analysis tool for PHP that enforces architectural layers and dependencies between classes.
A PHP git hook manager that runs automated code quality checks on commits to enforce team standards.
A PHPStan extension for Laravel that adds static code analysis to catch bugs and improve code quality.
A static analyzer for PHP that minimizes false positives by attempting to prove incorrectness rather than correctness.
Instant PHP quality checks from your console, analyzing code quality, architecture, and coding style.
A PHP parser written in PHP for static code analysis and manipulation via an abstract syntax tree (AST).
A command-line tool for quickly measuring the size and complexity of PHP projects.
A high-performance, standards-based static type checker for Python with command-line and VS Code support.
A Python linter focused on modernizing and improving code elegance, readability, and simplicity.
A fast static analysis tool that finds unused (dead) code in Python programs to improve code quality.
A Ruby gem that detects database issues in Rails applications before they reach production.
A Ruby gem that detects N+1 queries, unused eager loading, and missing counter caches to improve application performance.
A security audit tool for Ruby projects that checks Gemfile.lock for vulnerable gem versions and insecure sources.
A Ruby command-line tool that suggests performance improvements by analyzing code patterns against faster alternatives.
A static analysis tool that detects code smells in Ruby classes, modules, and methods to improve code quality.
A Ruby gem that wraps static analysis tools to generate comprehensive code quality reports with visual insights.
A Ruby linter and formatter with an unconfigurable, opinionated ruleset built on RuboCop.
A Cargo subcommand to find unused dependencies in Rust projects' Cargo.toml files.
A Cargo subcommand to show the result of Rust macro expansion and #[derive] expansion for debugging.
A cargo plugin that detects and reports usage of unsafe Rust code in crates and their dependencies.
A bit-precise model checker for verifying safety and correctness properties in Rust code.
A tool for formatting Rust code according to the official Rust style guidelines.
Generates interactive visualizations of ownership and borrowing in Rust programs to aid learning.
A syntax highlighter and tool to semi-automatically rewrite shell scripts for ShellCheck conformance, focusing on proper quoting.
A command-line tool and Xcode extension for formatting Swift code with extensive rule customization.
A monorepo providing tooling to lint Angular projects with ESLint, including TypeScript and HTML template rules.
An extensible static analysis tool that checks TypeScript code for readability, maintainability, and functionality errors.
Monorepo for tooling that enables ESLint to support TypeScript, providing powerful static analysis for JavaScript and TypeScript.
Asynchronous linting and fixing for Vim/Neovim with Language Server Protocol (LSP) support.
A source code analyzer that identifies features and characteristics in software components using static analysis and a JSON rules engine.
Static application security testing (SAST) tool that scans source code to discover, filter, and prioritize security and privacy risks.
An ultra-fast parallelized classpath and module scanner for JVM languages that indexes class metadata without loading classes.
Standard libraries and queries for CodeQL, powering GitHub Advanced Security and static application security testing.
A command-line tool for automatically formatting .NET code to follow style guidelines and conventions.
A pluggable linting utility for identifying and reporting patterns in JavaScript and ECMAScript code.
A collection of high-performance JavaScript and TypeScript tools written in Rust, powering modern development toolchains.
A set of tools and APIs for static analysis, code visualization, navigation, and style-preserving source transformations across multiple languages.
A Ruby gem for automated code review that runs analysis quickly by checking only relevant changes in pull requests.
Roslyn-based analyzers for .NET code quality, security, and maintainability, replacing legacy FxCop.
Open source CNAPP that hunts for threats in cloud native platforms, ranks them by risk, and visualizes attack paths.
A comprehensive security scanner that finds vulnerabilities, misconfigurations, secrets, and SBOMs in containers, Kubernetes, code, and clouds.
A fast, accurate static code analyzer for C/C++, C#, and Lua that detects defects early in development.
A fast, straightforward, reliable tool for performing massive, automated code refactoring using custom Python patterns.
A fast semantic search tool for C/C++ codebases that uses AST pattern matching to help security researchers find interesting functionality.
A platform-agnostic binary analysis framework for disassembly, symbolic execution, and program analysis.
Bloaty is a size profiler for binaries that analyzes what's taking up space inside executable files.
A coding style formatter for CSS that sorts properties and enforces consistent formatting.
A static analysis tool for detecting security misconfigurations and flaws in Nginx configuration files.
A linter that validates AWS CloudFormation templates against AWS resource schemas and best practices.
Static vulnerability analysis for container images (OCI/Docker) via an API that indexes and matches against known security flaws.
A smarter Dockerfile linter that helps you build best practice Docker images by parsing the Dockerfile AST and linting inline bash.
Automated code review tool that integrates with any linter and posts results as comments on pull requests.
A blazing fast Rust crate for linting JavaScript and TypeScript code, powering Deno's linter and usable with Node.js.
A monorepo providing tooling to lint Angular projects with ESLint, including TypeScript and HTML template rules.
An HTML linter that checks for common mistakes and ensures correct Bootstrap markup structure.
A CLI tool for linting and testing Helm charts, designed for CI/CD pipelines and pull request validation.
A static analysis tool that checks Kubernetes YAML files and Helm charts for security and production readiness best practices.
A PHPStan extension for Laravel that adds static code analysis to catch bugs and improve code quality.
A Node.js style checker and lint tool for Markdown/CommonMark files to enforce consistency and standards.
A Ruby-based tool to check Markdown files and flag style issues with configurable rules.
A Go tool that runs multiple linters concurrently to perform static analysis, unit testing, and generate comprehensive code quality reports.
A Ruby gem that detects database issues in Rails applications before they reach production.
A Ruby gem that detects N+1 queries, unused eager loading, and missing counter caches to improve application performance.
An enterprise-friendly Python tool for detecting and preventing secrets from entering codebases with a baseline approach.
A tool for detecting secrets like passwords, API keys, and tokens in git repositories, directories, and stdin.
A static analysis tool for Go that finds vulnerabilities using SSA form and source-to-sink tracing to reduce false positives.
A vulnerability scanner for container images, filesystems, and SBOMs to detect known security issues.
A bit-precise model checker for verifying safety and correctness properties in Rust code.
Automated security health metrics for open source projects, assessing security best practices and risks.
A static analysis security scanner for Terraform code that identifies misconfigurations across major cloud providers.
A general purpose network security scanner with an extensible plugin system for detecting high severity vulnerabilities.
A symbolic-execution-based security analysis tool for detecting vulnerabilities in Ethereum and EVM-compatible smart contracts.
A static analysis framework for Solidity and Vyper smart contracts that detects vulnerabilities, enhances code comprehension, and enables custom analyses.
A command-line linter for English prose that checks writing style, grammar, and usage against advice from expert writers.
A state-of-the-art static analysis linter for Go that finds bugs, performance issues, and enforces style rules.
A curated directory of static analysis tools for PHP, covering bug detection, coding standards, metrics, and automated fixes.
The "Awesome Open Source Society University" project is a curated collection of resources aimed at individuals pursuing self-directed learning through open-source educational materials. This list encompasses a variety of categories including online courses, textbooks, lecture notes, and community-driven projects that promote open education. It is particularly beneficial for self-learners, educators, and anyone interested in alternative education models, providing them with the tools and knowledge to explore diverse subjects at their own pace. Users can discover innovative learning paths and connect with a community that values open knowledge sharing.
The "Awesome Machine Learning" project is a comprehensive collection of resources focused on the field of machine learning, which involves algorithms and statistical models that enable computers to perform tasks without explicit instructions. This list encompasses a wide range of categories, including libraries, frameworks, datasets, tutorials, research papers, and community resources. It is designed to benefit everyone from beginners looking to understand the basics to experienced practitioners seeking advanced techniques and tools. By exploring this collection, users can enhance their knowledge and skills in machine learning, paving the way for innovative applications and solutions in various domains.
The "Awesome University Courses" project is a curated resource list that compiles university-level courses from various disciplines available online. This list covers a wide range of subjects including computer science, mathematics, humanities, and social sciences, featuring courses from renowned institutions and platforms. It benefits students, educators, and lifelong learners by providing access to high-quality educational content that can enhance knowledge and skills. Whether you're looking to deepen your understanding of a specific topic or explore new fields, this collection offers a wealth of opportunities for academic growth and personal development.
The "Awesome Data Science" project is a curated collection of resources for individuals interested in the field of data science, which encompasses the extraction of insights and knowledge from structured and unstructured data. This list includes a variety of resources such as libraries, frameworks, datasets, tutorials, courses, and tools that are essential for data analysis, machine learning, and statistical modeling. Whether you are a beginner looking to learn the basics or an experienced data scientist seeking advanced techniques, this list provides valuable information to enhance your skills and projects. Dive into this collection to discover tools and knowledge that can help you excel in your data science journey.