11 repositorios
Analyzing code structure without execution to identify functional units.
Distinct from Static Code Analysis: Focuses on unit discovery and physical structure rather than bug or vulnerability detection.
Explore 11 awesome GitHub repositories matching testing & quality assurance · Structural Static Analysis. Refine with filters or upvote what's useful.
This project is a static code analysis tool that functions as a code unit resolver and source code line mapper. It identifies the specific function or method that contains a given line of code by analyzing the structure of source files without executing the program. The utility maps line numbers to their parent code units by examining the organization of source files and identifying the ownership of specific lines. It determines the boundaries of functions and methods through text-based structural parsing and range detection. These capabilities support source code analysis and static analysi
Analyzes the physical structure of code files to identify functions and methods without executing the program.
Doxygen is a source code documentation generator and multi-language API reference tool. It extracts annotated comments from source code to create structured technical manuals and searchable software libraries in formats including HTML, LaTeX, and PDF. The project functions as a static code analysis visualizer, generating call graphs, class diagrams, and inheritance hierarchies to illustrate codebase structure. It also serves as an XML documentation export engine, producing structured metadata that can be transformed via XSLT or third-party tools. Beyond API extraction, the tool provides a Ma
Extracts structured data from source code by scanning for specific comment patterns and syntax without execution.
HCL is a configuration language implementation designed for parsing, evaluating, and encoding structured settings through the use of blocks and attributes. It functions as a configuration AST parser and a schema-based decoder that maps attributes and blocks to internal data structures using predefined rules. The project includes an expression evaluation engine that resolves dynamic values and cross-references through multi-phase processing of variables and functions. It also provides a configuration file formatter to standardize the layout and indentation of source code for consistent visual
Inspects the physical syntax of lists, maps, and function calls without executing the expressions.
go-ast-book es una colección de recursos técnicos y educativos centrados en el análisis de árboles de sintaxis abstracta (AST), desarrollo de compiladores y verificación estática de código. Proporciona guías y manuales para analizar, recorrer y examinar código fuente en Go con el fin de extraer su significado semántico. El proyecto sirve como referencia para construir frontends de compiladores, cubriendo la traducción de código de alto nivel a representaciones intermedias y formas de asignación estática única (SSA). También proporciona instrucciones para utilizar estas técnicas en el desarrollo de herramientas de lenguaje y análisis estático de código. Los recursos cubren una amplia gama de capacidades de análisis estático, incluyendo tokenización léxica, análisis estructural de expresiones y declaraciones, y seguimiento de coordenadas para archivos fuente. También detalla procesos de análisis semántico como la resolución de identificadores, verificación de corrección de tipos y análisis de flujo de control para concurrencia y ejecución diferida.
Extracts names and metadata from identifiers to determine their role as variables, constants, or functions.
Porffor es un compilador ahead-of-time que convierte código fuente de JavaScript y TypeScript en código máquina nativo o binarios C. Funciona como un generador de binarios nativos y transpilador, produciendo archivos ejecutables independientes que no requieren un runtime o máquina virtual. El proyecto traduce código fuente a archivos en lenguaje C y formatos binarios WebAssembly. Incluye un pipeline directo a binario para TypeScript, permitiendo la generación de ejecutables de destino sin un paso de transpilación separado a JavaScript. El conjunto de herramientas también incluye un bucle read-eval-print interactivo para la ejecución de código en tiempo real, así como capacidades para depurar código fuente y perfilar el rendimiento de la ejecución.
Analyzes source code structure to map dynamic JavaScript patterns onto static types required for C and system-level languages.
Plato es una herramienta de análisis estático de JavaScript y visualizador de complejidad de código. Calcula métricas de complejidad y ejecuta comprobaciones de linting en el código fuente de JavaScript para evaluar la calidad del codebase, presentando los resultados a través de un dashboard de análisis estático. El sistema agrega datos de linting y métricas técnicas en informes con marca de tiempo. Calcula específicamente métricas ciclomáticas y de Halstead para identificar archivos excesivamente complicados y evaluar la mantenibilidad de un proyecto. La herramienta proporciona capacidades para la visualización del código fuente, informes de calidad automatizados y evaluación de la mantenibilidad. Incluye un pipeline de análisis estático que admite la agregación de métricas y el filtrado de archivos mediante expresiones regulares.
Analyzes code structure to identify functional units and provide a technical overview of complexity.
wxappUnpacker es una herramienta de recuperación y descompilación de código fuente para mini programas, diseñada para extraer y restaurar el código fuente de paquetes compilados de WeChat mini programs. Funciona como una utilidad especializada para desempaquetar y decodificar archivos WXML comprimidos para recuperar la lógica original de la aplicación. La herramienta se centra en la recuperación de código fuente frontend y la ingeniería inversa. Restaura archivos WXML y JavaScript legibles para permitir el análisis de las estructuras y funcionalidades internas de la aplicación. El proceso de recuperación implica el análisis estático, la extracción recursiva de activos y la reconstrucción de código basada en plantillas. Emplea mapeo de bytecode a código fuente y descompresión basada en patrones para traducir las instrucciones binarias compiladas de vuelta a código fuente legible.
Analyzes the physical structure of compressed files without execution to identify functional units.
Este proyecto es un conjunto de herramientas de transformación de árboles de sintaxis abstracta (AST) diseñadas para automatizar la migración de código fuente a versiones más recientes de React. Proporciona un conjunto de scripts que modifican programáticamente estructuras de código para reemplazar APIs obsoletas y patrones de componentes con equivalentes modernos. El kit de herramientas se especializa en convertir componentes de clase en componentes funcionales utilizando arrow functions y desestructuración de props. También incluye utilidades para modernizar la sintaxis JSX, actualizar métodos de ciclo de vida obsoletos a versiones estables y migrar referencias basadas en cadenas heredadas a callback refs. Las capacidades adicionales cubren la optimización de patrones de importación, la eliminación de importaciones redundantes y la actualización de referencias de paquetes y rutas de módulos. El proyecto utiliza migración de código fuente basada en reglas y análisis de sintaxis por coincidencia de patrones para garantizar que las transformaciones se apliquen de manera consistente en bases de código grandes.
Walks through the program structure to find and update specific naming conventions and import declarations.
Este proyecto es un compilador de hojas de estilo CSS que transforma código fuente Sass en CSS estándar. Proporciona el mecanismo principal para convertir estilos mientras implementa reglas de sintaxis para navegadores web y aplicaciones. El compilador admite un sistema de dependencias basado en módulos que utiliza espacios de nombres dedicados para proporcionar encapsulación y evitar colisiones en el ámbito global. Incluye motores especializados para la conversión de colores multimodelo y cálculos matemáticos avanzados, incluyendo trigonometría y logaritmos. Las capacidades cubren una amplia gama de herramientas de compilación y análisis, incluyendo la generación de mapas de origen (source maps), monitoreo del sistema de archivos para recompilación automática y la capacidad de ejecutar la compilación directamente dentro de un navegador web. También permite la extensibilidad mediante funciones personalizadas e importadores definidos en un lenguaje anfitrión a través de un protocolo de mensajería estructurado. Los usuarios también pueden realizar análisis estáticos inspeccionando el árbol de sintaxis abstracta para analizar la estructura del código y resolver dependencias sin realizar una compilación completa.
Inspects the abstract syntax tree to analyze code structure and resolve dependencies without full compilation.
Qira is a binary analysis platform and execution tracer that records every instruction and data access during program execution for interactive playback and debugging. It functions as a runtime analysis environment that uses QEMU to trace execution and inspect memory and register states. The system provides a binary static analysis tool that maps program structure and annotates instructions based on captured runtime data. It includes a runtime memory analyzer to monitor reads and writes to specific addresses and an interactive debugger for navigating execution timelines. The platform covers
Maintains a database of addresses and tags derived from runtime traces to map overall program structure.
This project is a Model Context Protocol server designed to bridge the gap between local frontend component libraries and language models. It functions as a development assistant that provides AI tools with the structural context, dependency requirements, and installation patterns necessary to generate accurate, framework-specific UI code. The server distinguishes itself by utilizing schema-driven metadata extraction and static file system analysis to interpret component structures without requiring runtime execution. By decoupling component definitions from specific UI libraries, it supports
Analyzes local project directories to discover and extract component structures without requiring runtime execution.