30 repository-uri
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 este un analizor de dependențe și linter arhitectural pentru JavaScript și TypeScript. Servește ca instrument de analiză statică pentru maparea, vizualizarea și validarea relațiilor dintre module într-un codebase, fără a necesita execuția codului. Proiectul se distinge prin capacitatea de a impune limite arhitecturale printr-un sistem bazat pe reguli. Detectează dependențele circulare, identifică modulele orfane și codul mort, și validează constrângerile de dependență folosind reguli de relaționare permise sau interzise. De asemenea, oferă o analiză cantitativă a stabilității prin calcularea cuplajului aferent și eferent pentru a identifica zonele fragile ale unui proiect. Instrumentul acoperă o gamă largă de capabilități, inclusiv parsarea modulelor pentru standarde multiple precum ES6, CommonJS și TypeScript, precum și vizualizarea grafului de dependențe cu agregare la nivel de folder. Oferă funcționalități de automatizare pentru integrare continuă (CI), cum ar fi stabilirea unei linii de bază pentru încălcări și exporturi de date structurate în formate JSON sau CSV. Sistemul include un proces interactiv de configurare a proiectului pentru a genera fișiere de configurare personalizate bazate pe mediul local.
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 is a development project for creating system firmware that complies with the UEFI specification. It provides the necessary infrastructure to initialize hardware platforms and boot operating systems across multiple CPU architectures. The project utilizes a modular firmware architecture that decouples high-level management protocols from physical transport layers. It implements critical security features, including a measured boot chain, cryptographic primitives for image authentication, and support for Trusted Platform Module hardware and software implementations. Its capability surface
Compares module dependencies against allowed packages to prevent unauthorized cross-package dependencies.
eslint-plugin-import este un plugin de analiză statică pentru ESLint care oferă o suită de reguli și rezolvere pentru a valida instrucțiunile de import și a impune constrângeri arhitecturale asupra modului în care fișierele importă și exportă cod. Funcționează ca un validator și rezolvator de module pentru a se asigura că declarațiile de import indică fișiere valide și că simbolurile referențiate există. Proiectul identifică lanțurile de import recursive pentru a preveni dependențele circulare și utilizează un sistem de rezoluție configurabil pentru a mapa alias-urile și căile de fișiere non-standard. De asemenea, poate distinge între fișierele interne ale proiectului și dependențele bibliotecilor externe prin potrivirea modelelor de căi și foldere. Plugin-ul acoperă zone mai largi de calitate a codului, inclusiv impunerea stilului de import pentru ordonare și grupare, restricționarea sistemelor de module specifice și verificarea disponibilității exporturilor pentru a preveni erorile de runtime. Poate limita în continuare sursele de import pe baza locației folderului sau poate interzice tipuri specifice de căi.
Uses path and folder pattern matching to distinguish between internal project files and external dependencies.
TFLint este un instrument de analiză statică și validator de infrastructură-ca-cod conceput pentru a identifica erorile și a impune bunele practici în fișierele de configurare Terraform. Funcționează ca o poartă de calitate pentru fluxurile de lucru automatizate și un server de limbaj care oferă diagnosticare în timp real și erori de linting direct în editorii de text suportați. Proiectul utilizează un framework de plugin-uri gRPC care permite integrarea regulilor de validare specifice furnizorului prin binare independente și un SDK dedicat. Această arhitectură separă logica de linting de bază de validarea specifică cloud-ului, suportând instalarea automată a seturilor de reguli externe pentru a verifica proprietățile resurselor față de specificațiile oficiale. Motorul de analiză rezolvă valorile de configurare și evaluează funcțiile încorporate, extinzând blocurile dinamice și colecțiile de resurse pentru a inspecta structura finală instanțiată. Acoperă impunerea standardelor de codare, analiza apelurilor de module și detectarea atributelor de resurse invalide, cu capacitatea de a exporta rezultate structurate în formate precum SARIF. Instrumentul include o interfață de linie de comandă pentru filtrarea țintelor de analiză și oferă corecția automată a problemelor pentru regulile suportate.
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 este o platformă de guvernanță inginerească și un asistent bazat pe AI, conceput pentru revizuirea automată a codului și generarea de teste unitare. Utilizează un graf de cunoștințe al bazei de cod bazat pe arbore sintactic abstract (AST) pentru a mapa dependențele și relațiile arhitecturale, permițându-i să analizeze pull request-urile și să impună standardele organizaționale de codare. Sistemul se distinge printr-un pipeline de analiză multi-agent care efectuează raționamente arhitecturale și identifică bug-uri dincolo de diff-ul imediat. Dispune de un server de protocol de context al modelului pentru a expune inteligența bazei de cod către instrumente externe și poate evolua automat regulile de impunere învățând din deciziile istorice ale pull request-urilor. Platforma oferă capabilități cuprinzătoare pentru gestionarea cunoștințelor bazei de cod, inclusiv execuția de cercetări profunde, interogări semantice și maparea dependențelor sistemului. Include, de asemenea, instrumente pentru generarea iterativă de teste unitare pentru a crește acoperirea codului și remediere automată pentru a aplica corecții direct în pull request-uri. Opțiunile de deployment includ SaaS multi-tenant, single-tenant sau instalări complet on-premises.
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.