30 个仓库
Tools for validating code structures, types, and protocols during compilation to detect errors before execution.
Distinguishing note: Focuses on compile-time validation of logic and protocols rather than runtime debugging.
Explore 30 awesome GitHub repositories matching software engineering & architecture · Static Analysis. Refine with filters or upvote what's useful.
Sway is a smart contract development language and programming environment designed for writing, compiling, and deploying secure blockchain programs. It serves as a type-safe language for building on-chain logic and a static analysis toolchain that validates contracts before they are executed on a network. The ecosystem provides a development environment focused on blockchain application logic and web3 backend engineering. It integrates a type-safe programming approach to reduce vulnerabilities and ensure reliable state transitions for decentralized services. The toolchain incorporates static
Includes a static analysis toolchain that validates contract structures and types to ensure security before execution.
Elixir is a functional, concurrent programming language designed for building scalable and maintainable applications. It operates on the Erlang virtual machine, leveraging a distributed, fault-tolerant runtime environment that manages lightweight processes to ensure system reliability. By utilizing an actor-model supervision strategy, the language enables the creation of high-concurrency backend systems that automatically recover from failures and maintain stability under heavy loads. The language distinguishes itself through a powerful metaprogramming environment that allows developers to ex
Check data structures and function signatures during compilation to identify potential mismatches early and prevent common logic errors before the code runs.
This project is a comprehensive educational guide and curriculum for applying functional programming principles and category theory within the JavaScript ecosystem. It provides a structured learning path focused on writing predictable and scalable code through the use of pure functions and immutability. The resource includes a dedicated course on algebraic data structures and a functional programming tutorial. To reinforce theoretical concepts, it features a set of interactive coding exercises and runnable programming challenges for hands-on practice. The materials cover a broad range of fun
Demonstrates using TypeScript's type system to enforce functional contracts and validate algebraic structures at compile time.
SwiftLint is a static analysis tool and code formatter designed to enforce consistent coding styles and identify semantic issues within Swift source code. It functions as a command-line utility that evaluates code against established conventions to ensure uniform structure and architectural standards across a project. The tool distinguishes itself through a custom linting engine that leverages compiler-integrated syntax analysis to perform deep inspections of code structure. Beyond simple pattern matching, it supports automated source code transformation to correct formatting violations and r
Provides custom static analysis capabilities for detecting project-specific patterns and semantic issues.
This project is a compiler development tutorial that provides a series of guides and exercises for building a complete compiler from scratch. It focuses on the implementation of a structured compilation pipeline to transform high-level source code into executable machine instructions. The project covers the creation of a machine code generator for specific processor architectures and a static analysis framework. This framework includes methodologies for implementing type checking and constant folding to verify logic correctness before the final execution phase. The instructional material enc
Implements static analysis for validating types and logic correctness during the compilation process.
This repository serves as the programming language design repository for C#, containing the official language specification and the technical standards governing its grammar, type safety, and memory management. It functions as a collaborative space for the formal design and evolution of the language. The project manages a community-driven evolution process, utilizing a public proposal backlog to debate and adopt new features. This involves formal syntax prototyping and the engineering of the type system to refine the language's behavior and implementation. The scope of the specification cove
Tracks the null state of reference types during compilation to warn about potential dereference errors.
Madge is a JavaScript module dependency visualizer and architecture mapper. It analyzes source code to create graphs and diagrams of module relationships, supporting CommonJS, AMD, and ES6 standards. The tool functions as a circular dependency detector to identify recursive import loops and a dependency graph generator that exports relationship maps into image and vector formats. It provides utilities for auditing project structure, including the identification of orphaned modules and leaf modules. Its broader capabilities include dead code identification, module impact analysis through depe
Performs static analysis of module graphs to identify imports and require statements without executing the code.
Chameleon is a cross-platform application framework and component library used to develop applications for the web and various mini-app platforms from a single shared codebase. It functions as a multi-platform build pipeline that compiles source code into different target formats while providing an MVVM-based user interface system for managing application state. The framework employs a polymorphic protocol to extend custom components and APIs, allowing for platform-specific implementations while maintaining cross-end compatibility. It includes a specialized build tool for static analysis that
Integrates a static analysis pipeline to validate markup syntax and detect circular dependencies during compilation.
Traceur is a JavaScript syntax transpiler that transforms modern and next-generation language features into compatible versions for older runtime environments. It functions as a compiler that translates proposed language standards and upcoming syntax into current versions to maintain cross-engine compatibility. The project operates as an asynchronous code transformer, converting async functions and generators into promise-based state machines. It includes a functional tail-call optimizer that wraps recursive functions in trampolines to prevent stack overflows and an ECMAScript polyfill engine
Analyzes module dependency graphs through import and export statements to organize code loading.
Expr is a statically typed expression engine and domain-specific language for parsing and evaluating dynamic logic strings within Go applications. It functions as a bytecode expression evaluator that executes compiled logic with guaranteed termination and memory safety. The engine utilizes a specialized compiler and virtual machine to achieve high-performance execution. It employs static type validation during the compilation phase to ensure operand compatibility and prevent runtime crashes. The project provides a data transformation engine capable of mapping, filtering, and aggregating coll
Performs static analysis during the compilation phase to validate operand compatibility and prevent runtime crashes.
ReScript is a statically typed programming language and compiler designed to transform type-safe source code into efficient, human-readable JavaScript. It functions as a transpiler that enforces data consistency and prevents runtime errors through static type analysis for both web and server applications. The project distinguishes itself as an incremental build system that analyzes dependency graphs to recompile only modified files and their dependents. It includes a JSX compatible compiler for building user interfaces and provides a framework for bridging type-safe code with existing JavaScr
Enforces data consistency and prevents bugs through a compiler that analyzes code structures before execution.
Dependency-cruiser 是一个 JavaScript 和 TypeScript 依赖分析器及架构检查工具。它作为一种静态分析工具,用于在无需执行代码的情况下映射、可视化和验证代码库中的模块关系。 该项目的特色在于能够通过基于规则的系统强制执行架构边界。它能检测循环依赖、识别孤立模块和死代码,并使用允许和禁止关系规则来验证依赖约束。它还通过计算传入和传出耦合来提供定量稳定性分析,以识别项目中的脆弱区域。 该工具涵盖了广泛的功能,包括针对 ES6、CommonJS 和 TypeScript 的多标准模块解析,以及带有文件夹级聚合的依赖图可视化。它为持续集成提供了自动化功能,例如违规基准测试以及 JSON 或 CSV 格式的结构化数据导出。 该系统包含一个交互式项目配置引导程序,可根据本地环境生成定制的配置文件。
Defines forbidden or allowed relationships between files or folders using path patterns to prevent regressions.
Visualize call graph of a Go program using Graphviz
Restricts the call graph to show only functions within a specified module for targeted analysis.
High performance, maintainable stylesheets.
Detects property collisions between co-located classes during the build step.
edk2 是一个用于创建符合 UEFI 规范的系统固件的开发项目。它提供了初始化硬件平台并在多个 CPU 架构上引导操作系统的必要基础设施。 该项目利用模块化固件架构,将高级管理协议与物理传输层解耦。它实现了关键的安全功能,包括度量启动链(measured boot chain)、用于图像认证的加密原语,以及对可信平台模块(TPM)硬件和软件实现的支持。 其功能范围扩展到 Redfish、IPMI 和 MCTP 等平台管理标准,以及动态 ACPI 表的生成。该项目还包括一套全面的工具,用于跨架构编译、固件仿真以及针对 KVM、Xen 和 QEMU 等管理程序的虚拟平台模拟。 该项目包含一个多目标构建系统和自动化测试编排,用于在仿真和物理环境中验证固件功能。
Compares module dependencies against allowed packages to prevent unauthorized cross-package dependencies.
eslint-plugin-import 是一个 ESLint 静态分析插件,提供了一套规则和解析器来验证 import 语句,并强制执行关于文件如何导入和导出代码的架构约束。它作为一个模块验证器和解析器,确保 import 声明指向有效文件且引用的符号存在。 该项目识别递归导入链以防止循环依赖,并利用可配置的解析系统来映射别名和非标准文件路径。它还可以通过路径和文件夹模式匹配来区分内部项目文件和外部库依赖项。 该插件涵盖了更广泛的代码质量领域,包括强制执行导入样式的排序和分组、限制特定模块系统以及验证导出可用性以防止运行时错误。它还可以根据文件夹位置限制导入源或禁止特定路径类型。
Uses path and folder pattern matching to distinguish between internal project files and external dependencies.
TFLint 是一款静态分析工具和基础设施即代码(IaC)验证器,旨在识别 Terraform 配置文件中的错误并强制执行最佳实践。它既是自动化工作流的质量关卡,也是一个语言服务器,可直接在支持的文本编辑器中提供实时诊断和 linting 错误提示。 该项目利用 gRPC 插件框架,允许通过独立的二进制文件和专用 SDK 集成自定义的供应商特定验证规则。这种架构将核心 linting 逻辑与云服务商特定的验证分离开来,支持自动安装外部规则集,以根据官方规范验证资源属性。 其分析引擎能够解析配置值并评估内置函数,通过展开动态块和资源集合来检查最终实例化的结构。它涵盖了编码标准强制执行、模块调用分析以及无效资源属性的检测,并支持以 SARIF 等格式导出结构化结果。 该工具包含一个用于分析目标过滤的命令行界面,并为支持的规则提供自动修复功能。
Inspects attributes within local and remote module calls to identify issues originating from module configurations.
Farm is a Rust-based web build tool and development server that compiles JavaScript, TypeScript, CSS, HTML, and static assets into optimized bundles. It uses a module-graph-based bundling approach with persistent module-level caching, enabling near-instant builds and sub-20ms hot module replacement during development. The tool processes assets based on file extensions, handling CSS, Sass, Less, PostCSS, HTML, and images as first-class modules without requiring JavaScript transformation. Farm distinguishes itself through its Vite-compatible plugin system, accepting Vite, Rollup, and Unplugin p
Discovers and registers module import dependencies to fully resolve the build dependency graph.
Qodo Cover is an engineering governance platform and AI-powered assistant designed for automated code review and unit test generation. It utilizes an abstract syntax tree codebase knowledge graph to map dependencies and architectural relationships, allowing it to analyze pull requests and enforce organizational coding standards. The system distinguishes itself through a multi-agent analysis pipeline that performs architectural reasoning and identifies bugs beyond the immediate diff. It features a model context protocol server to expose codebase intelligence to external tools and can automatic
Indexes and reasons across the entire repository to identify cross-module architectural dependencies.
llm-viz is a 3D architecture visualizer and inference simulator for large language models. It provides a visual representation of network topology and the mathematical operations used during the process of generating a response. The tool enables the exploration of internal weight distributions and the layout of layers within a neural network. It facilitates model interpretability and inference debugging by tracking the step-by-step movement of data through the architecture. The system utilizes GPU-accelerated 3D rendering to visualize tensor flow and spatial mappings of weights. It includes
Parses pre-trained weight files to extract and render the fixed structural layout of the model architecture.