8 repositorios
Frameworks for validating runtime state transitions against formal safety and correctness models.
Distinct from Runtime Verification: Distinct from general runtime verification: focuses on kernel-level state transition validation against formal models.
Explore 8 awesome GitHub repositories matching testing & quality assurance · System Execution Verifiers. Refine with filters or upvote what's useful.
El kernel de Linux es un núcleo de sistema operativo monolítico que gestiona recursos de hardware, memoria y programación de procesos a través de diversas arquitecturas informáticas. Proporciona un entorno estandarizado y compatible con POSIX para la ejecución de aplicaciones, manteniendo al mismo tiempo un framework de controladores modular que permite la carga y eliminación dinámica de interfaces de hardware. El proyecto se distingue por su kit de herramientas de concurrencia de alto rendimiento, que utiliza primitivas de sincronización sin bloqueo y mecanismos de lectura-copia-actualización para gestionar el acceso a datos compartidos en entornos multinúcleo. Incorpora una suite completa de rastreo e instrumentación del kernel que permite el monitoreo no intrusivo de eventos del sistema, ejecución de funciones y métricas de latencia. Además, el kernel aplica garantías estrictas de estabilidad de interfaz y seguimiento del ciclo de vida para garantizar la compatibilidad con versiones anteriores para aplicaciones dependientes. Más allá de su identidad central, el sistema incluye amplias capacidades para la abstracción de hardware, implementación de protocolos de red y aplicación de políticas de seguridad. Admite requisitos de ingeniería especializados a través de la gestión del estado de energía, optimizaciones de sistemas integrados y procesos de arranque basados en firmware. La arquitectura también cuenta con marcos de diagnóstico robustos para el análisis de memoria, verificación de ejecución del sistema y validación de modelos de programación concurrente. El repositorio de origen proporciona un sistema de compilación completo para transformar código en imágenes binarias ejecutables, incluyendo herramientas para la selección de características del kernel y optimización de configuración para adaptar la salida a requisitos de hardware específicos.
Features robust diagnostic frameworks for verifying system execution against defined safety and correctness properties.
This project serves as a comprehensive technical reference for the architecture and design of data-intensive applications. It provides a structured analysis of the fundamental principles required to build reliable, scalable, and maintainable software systems, covering the core trade-offs inherent in modern data infrastructure. The repository explores the mechanics of distributed data management, including strategies for replication, partitioning, and achieving consensus across multiple nodes. It details the design of storage engines, indexing techniques, and transaction management models, whi
Validates distributed algorithms against formal models to ensure correctness across all execution states.
This project is a comprehensive, curated directory of static analysis, linting, and security scanning utilities. It serves as a central resource for developers to discover, compare, and select tools based on specific programming languages, licensing models, and integration requirements. The directory distinguishes itself by providing deep metadata for each listed utility, including community-driven popularity rankings, maintenance status, and deployment methods. By aggregating these tools into a single searchable index, it enables teams to identify solutions for enforcing coding standards, ma
Prove the absence of runtime errors, memory corruption, and undefined behavior through formal verification or symbolic execution techniques.
Z3 is an automated theorem prover and satisfiability modulo theories solver designed to determine the validity of complex logical formulas. It functions as a formal verification framework, enabling the systematic checking of hardware and software system specifications against defined logical constraints to identify inconsistencies or design flaws. The engine distinguishes itself through a combination of theory-specific decision procedures and symbolic execution capabilities. It employs conflict-driven clause learning and backtracking search algorithms to prune search spaces, while maintaining
Checks source code and system specifications against logical constraints to ensure correctness before deployment.
seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of correctness, confidentiality, integrity, and availability. It enforces strict isolation between processes through hardware-enforced address space separation and a capability-based access control system, where each process holds explicit rights only to the resources it has been granted. The kernel exposes hardware resources through a minimal API of system calls that manage threads, address spaces, and inter-process communication, with synchronous IPC supporting sender-identifying b
Proves that the user-level system initialiser correctly sets up capability-based access control.
Bosque es un lenguaje de programación experimental y plataforma de desarrollo diseñada para la construcción de software asistida por máquina. Combina la semántica de programación funcional con sintaxis imperativa para imponer la corrección lógica y la seguridad en tiempo de ejecución, proporcionando un entorno con seguridad de tipos que utiliza modelos de datos estructurados para mantener la integridad de la información a lo largo del ciclo de vida de la aplicación. La plataforma se distingue por una integración profunda con herramientas de verificación formal, incluyendo demostradores de teoremas automatizados y motores de ejecución simbólica. Al transformar el código fuente en una representación intermedia regularizada, el sistema permite el razonamiento automatizado para probar la ausencia de errores en tiempo de ejecución y violaciones lógicas. Además, el tiempo de ejecución está diseñado para un rendimiento predecible, utilizando un intérprete especializado que elimina las pausas de recolección de basura para asegurar una latencia de ejecución consistente. El proyecto proporciona un conjunto integral de herramientas para el desarrollo de alta confiabilidad, cubriendo la gestión de paquetes de proyectos, seguimiento de dependencias y verificación automatizada de propiedades de código. También soporta el diseño de interfaces agnósticas al lenguaje, permitiendo a los desarrolladores definir estructuras de datos compartidas y contratos de servicio que aseguran una validación consistente en diversos componentes de software.
Integrates automated theorem provers and symbolic execution engines to mathematically prove the absence of runtime errors and logic violations.
Diaphora es una herramienta de comparación binaria y motor de similitud diseñado para comparar binarios compilados e identificar secciones de código cambiadas o coincidentes. Funciona como un complemento de ingeniería inversa que mapea las relaciones entre funciones y detecta unidades de compilación utilizando análisis de ensamblador y teoría de grafos. El proyecto se especializa en el análisis de parches de vulnerabilidad, lo que permite a los usuarios detectar correcciones de seguridad comparando diferentes versiones de un binario. Sincroniza metadatos de análisis, como nombres de símbolos y comentarios, entre binarios y genera parches comparando pseudocódigo descompilado. El motor utiliza grafos de flujo de control y coincidencia heurística para calcular índices de similitud entre funciones. Sus capacidades más amplias incluyen el mapeo de grafos de llamadas, la identificación de límites de archivos de objetos y la gestión del estado de análisis a través de una base de datos relacional para facilitar la referencia cruzada a gran escala.
Validates that the indices used during binary comparison retrieve accurate data.
Ikos is a formal verification suite and static analysis framework designed to prove the absence of undefined behaviors and runtime errors in C and C++ source code. It functions as an abstract interpretation tool that approximates program execution to identify potential crashes and software defects. The system utilizes a compiler front-end to translate source code into a specialized abstract representation. This process decouples language parsing from the analysis logic, allowing the framework to perform deep program analysis via a formal verification system. The toolkit covers several analys
Offers a collection of analysis tools that apply mathematical logic to source code to prove the absence of runtime errors.