7 repositorios
Resolving the full chain of object requirements through static analysis of source code.
Distinct from Code Dependency Analysis: Focuses on resolving the DI graph via static analysis rather than just extracting a list of dependencies for analysis.
Explore 7 awesome GitHub repositories matching development tools & productivity · Static Dependency Resolution. Refine with filters or upvote what's useful.
Wire is a compile-time dependency injection framework for Go that generates code to wire application components together. It analyzes function signatures at compile time to build an explicit initialization graph, removing the need for runtime reflection or manual wiring code. The framework operates as a Go code generator and static analysis tool, transforming annotated source code into generated wire files that compile alongside the original project. It connects dependencies by matching function parameters and return types, producing a directed acyclic graph of component dependencies that is
Analyzes Go function signatures and types at compile time to determine the complete dependency graph.
Semantic es una librería basada en Haskell y una herramienta de línea de comandos diseñada para el análisis de código fuente políglota. Funciona como un framework de análisis estático de programas y un analizador de árboles de sintaxis abstracta políglota que convierte múltiples lenguajes de programación en árboles de sintaxis estructurados basados en definiciones gramaticales. El sistema se distingue por un motor de comparación semántica de código que detecta cambios estructurales y significativos entre versiones de código en lugar de depender de diferencias textuales. Además, permite el análisis entre diferentes sintaxis de programación traduciendo lenguajes de superficie a una representación intermedia políglota unificada. El framework proporciona un amplio conjunto de capacidades para analizar lenguajes como Rust, Go, Python, Ruby, PHP, TypeScript y TSX. Cubre el análisis semántico mediante el mapeo del alcance del código, la extracción de símbolos y la generación de grafos semánticos, junto con herramientas para el análisis de patrones y la evaluación del comportamiento del programa. El conjunto de herramientas incluye utilidades de línea de comandos para estandarizar el diseño de archivos fuente de Haskell.
Analyzes identifier visibility and accessibility to construct graphs mapping the relationships and meanings within a codebase.
Dagger is a compile-time dependency injection framework for Java and Android that automates object creation and lifecycle management. It functions as a static dependency injector and graph validator, resolving object requirements during the build process to avoid runtime reflection and prevent crashes caused by missing bindings. The framework distinguishes itself by using static analysis and code generation to produce factory classes at build time. It employs qualifier-based type differentiation to manage multiple implementations of the same type and provides scope-based lifecycle management
Determines object requirements by analyzing source code at build time instead of searching memory at runtime.
Pants is a monorepo build system designed to manage multi-language software projects within a single repository. It functions as a polyglot task runner and distributed build orchestrator, providing a unified interface for executing compilers, linters, and test runners across different programming languages. The system is distinguished by a dependency analysis engine that uses static source code analysis to model software dependencies, removing the need for manual build metadata files. It ensures reproducible builds through hermetic isolation and protects the software supply chain using depend
Resolves software dependencies automatically by scanning source code through static analysis.
actionlint is a static analysis tool and linter specifically designed for GitHub Actions workflow files. It functions as a CI workflow validator and YAML configuration linter to ensure the syntax and logic of automation files are correct before deployment. The project distinguishes itself by performing deep security auditing and script analysis. It includes a shell script auditor to detect syntax bugs and script injection vulnerabilities in inline commands, and it scans for hardcoded credentials to prevent security leaks. The tool covers a broad range of validation capabilities, including ex
Analyzes the job dependency graph to detect invalid references or circular dependencies.
This project is a tool for transforming unstructured text into semantic knowledge graphs. It uses local language models to extract entities and their relationships, converting text corpora into a structured network of linked concepts. The system provides a web interface for interactive network visualization, allowing users to navigate the resulting nodes and edges. It includes a topology analysis tool that calculates node degrees and identifies community clusters to determine the visual size and color of graph elements. Beyond visualization, the project enables graph-based information retrie
Calculates node degrees and performs community detection to determine the visual properties of network elements.
cargo-chef is a Rust build cache tool and CI pipeline accelerator designed to reduce compilation times by decoupling library compilation from application source code. It functions as a dependency recipe generator that extracts a project's dependency list into a recipe for pre-compilation without requiring the full source tree. The project optimizes Docker image builds by structuring container layers to store pre-computed build artifacts. This prevents full recompilation of dependencies when only application source code changes, ensuring that dependency updates only trigger necessary rebuilds.
Determines the exact set of required crates before building to create an isolated compilation environment.