7 repositorios
Visual representation of a function's logical execution paths using block containers.
Distinct from Call Graph Visualizers: Candidates target knowledge graphs or commit graphs; this is specifically for code execution flow.
Explore 7 awesome GitHub repositories matching software engineering & architecture · Control-Flow Graph Visualization. Refine with filters or upvote what's useful.
ILSpy is a .NET decompiler and binary analyzer designed to convert compiled .NET assemblies back into readable C# source code. It functions as a metadata explorer and a common intermediate language viewer, enabling the analysis of compiled code and the execution of reverse engineering workflows. The project distinguishes itself through specialized translation capabilities, such as converting compiled binary XML (BAML) back into human-readable XAML for user interface analysis. It also provides tools for inspecting native machine code and extracting metadata from program database (PDB) files.
Generates a graph of block containers to map the logical execution paths of a specific function.
Rustowl is a diagnostic system and language server protocol extension that maps variable validity and data flow directly into text editors. It serves as a memory management tool designed to visualize lifetime constraints and ownership movement within Rust source code. The project distinguishes itself by providing a visual representation of immutable borrowings, mutable borrowings, and value moves. It specifically tracks the duration of variable validity and identifies invalid overlapping references or lifetime mismatches to assist in memory debugging. The system employs static analysis to tr
Models and visualizes the movement of values between variables to illustrate ownership transitions and memory lifecycles.
Este proyecto es un sistema de simulación y mocking de API multiprotocolo diseñado para reemplazar dependencias externas durante el desarrollo y las pruebas. Proporciona un servidor de mocking de API, un proxy de tráfico de red y simuladores especializados para servicios de modelos de lenguaje y proveedores de identidad. El sistema se distingue por sus capacidades de simulación de IA profunda, incluyendo la emulación de proveedores de modelos de lenguaje y servidores de Model Context Protocol usando JSON-RPC 2.0. Soporta lógica conversacional de múltiples turnos, seguimiento de estado para APIs de chat de IA y visualización de la ejecución de agentes mediante grafos de llamadas y seguimiento del uso de tokens. Las áreas de capacidad incluyen pruebas de contrato de API contra especificaciones OpenAPI, resiliencia e ingeniería del caos mediante inyección de fallos de red, e interceptación de tráfico en vivo para la modificación de solicitudes en tiempo real. El proyecto también gestiona la simulación de proveedores de identidad para los estándares OIDC, OAuth2, SAML 2.0 y SCIM 2.0. El servidor puede desplegarse como un contenedor Docker, mediante Helm charts de Kubernetes o como un binario nativo independiente.
Renders server call graphs as flowcharts to visualize the internal processing path of requests.
code2flow es un mapeador de flujo de programas estático y generador de grafos de llamadas de código fuente. Analiza el código fuente para producir diagramas de flujo visuales que mapean las relaciones de llamadas a funciones y las rutas de ejecución. El proyecto incluye un visualizador de trazas de llamadas asíncronas que sigue las rutas de ejecución a través de llamadas async y await para mapear la lógica de programas asíncronos. También proporciona una interfaz de análisis de código programable, permitiendo que la lógica de generación de grafos de llamadas se integre en otras aplicaciones de software. El sistema maneja el análisis de código estático convirtiendo el código fuente en árboles de sintaxis abstracta para identificar definiciones de funciones y sitios de llamadas. Admite el filtrado de grafos de llamadas para restringir el alcance de las visualizaciones a través de filtros de contenido y extracción de rutas con límite de profundidad, mientras proporciona un estilo visual para distinguir los flujos lógicos.
Generates a visual representation of how functions interact and call one another across a codebase using static analysis.
Orbit es un conjunto de herramientas especializadas para la creación de perfiles de rendimiento en C y C++, mapeo de símbolos binarios y análisis remoto de procesos e hilos. Proporciona un sistema para analizar el tiempo de ejecución y el uso de recursos, utilizando un visualizador de grafos de llamadas para mapear las entradas y salidas de funciones en flujos de ejecución jerárquicos para hilos individuales. El proyecto se distingue por un perfilador de procesos remoto capaz de capturar datos de rendimiento de aplicaciones que se ejecutan en hosts remotos. También incluye un analizador de programación de hilos que rastrea cambios de contexto y utilización de núcleos de procesador para visualizar el comportamiento de los hilos. En términos generales, el conjunto de herramientas cubre el muestreo del rendimiento de la aplicación y la visualización del flujo de ejecución. Admite la depuración mediante la carga de archivos de símbolos externos a través de IDs de compilación y proporciona gestión de sesiones para persistir hooks de instrumentación y metadatos de símbolos.
A feature in the tool that tracks function entries, exits, and scheduling events to create per-thread hierarchical call graphs.
go-torch is a profiling tool for capturing the execution state of Go programs and transforming raw binary data into visual representations of program performance. It functions as a flame graph profiler and performance visualization utility that identifies expensive code paths through the collection of CPU and memory stack traces. The tool features a network-capable remote process profiler that connects to endpoints to capture and export execution profiles from Go binaries. It utilizes stochastic profiling to synthesize execution data into call graphs, allowing for the identification of bottle
Transforms raw stack trace samples into a hierarchical tree structure representing program execution flow.
OpenRewrite is an automated refactoring engine and source-to-source migration framework. It uses a lossless semantic tree parser to represent source code as type-aware trees that preserve original whitespace and formatting, enabling precise and deterministic modifications. The project utilizes a declarative refactoring pipeline where sequences of transformations are defined in YAML to resolve breaking changes and technical debt. It features type-aware pattern matching and cross-language model mapping to apply similar refactoring patterns across different programming languages. The framework
Provides visual representations of program execution paths to analyze logic and branching.