8 Repos
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.
Der Linux-Kernel ist ein monolithischer Betriebssystemkern, der Hardwareressourcen, Speicher und Prozessplanung über verschiedene Computerarchitekturen hinweg verwaltet. Er bietet eine standardisierte, POSIX-konforme Umgebung für die Anwendungsausführung und pflegt gleichzeitig ein modulares Treiber-Framework, das das dynamische Laden und Entfernen von Hardwareschnittstellen ermöglicht. Das Projekt zeichnet sich durch sein leistungsstarkes Concurrency-Toolkit aus, das sperrenfreie Synchronisationsprimitive und Read-Copy-Update-Mechanismen verwendet, um den Zugriff auf gemeinsame Daten in Multi-Core-Umgebungen zu verwalten. Es enthält eine umfassende Kernel-Tracing- und Instrumentierungssuite, die eine nicht-intrusive Überwachung von Systemereignissen, Funktionsausführungen und Latenzmetriken ermöglicht. Darüber hinaus erzwingt der Kernel strenge Garantien für die Schnittstellenstabilität und Lebenszyklusverfolgung, um die Abwärtskompatibilität für abhängige Anwendungen sicherzustellen. Über seine Kernidentität hinaus enthält das System umfangreiche Fähigkeiten für Hardware-Abstraktion, Netzwerkprotokoll-Implementierung und die Durchsetzung von Sicherheitsrichtlinien. Es unterstützt spezialisierte Engineering-Anforderungen durch Energiestatusmanagement, Optimierungen für eingebettete Systeme und firmwarebasierte Boot-Prozesse. Die Architektur bietet zudem robuste Diagnose-Frameworks für Speicheranalyse, Systemausführungsverifizierung und die Validierung gleichzeitiger Programmiermodelle. Das Quell-Repository bietet ein vollständiges Build-System zur Transformation von Code in ausführbare Binär-Images, einschließlich Tools für die Kernel-Funktionsauswahl und Konfigurationsoptimierung, um die Ausgabe auf spezifische Hardwareanforderungen zuzuschneiden.
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 ist eine experimentelle Programmiersprache und Entwicklungsplattform, die für maschinengestützte Softwarekonstruktion entwickelt wurde. Sie kombiniert funktionale Programmiersemantik mit imperativer Syntax, um logische Korrektheit und Laufzeitsicherheit zu erzwingen, und bietet eine typsichere Umgebung, die strukturierte Datenmodelle nutzt, um die Informationsintegrität über den gesamten Anwendungslebenszyklus hinweg zu wahren. Die Plattform zeichnet sich durch eine tiefe Integration mit formalen Verifizierungstools aus, einschließlich automatisierter Theorem-Prover und symbolischer Ausführungs-Engines. Durch die Transformation von Quellcode in eine regularisierte Zwischenrepräsentation ermöglicht das System automatisiertes Schlussfolgern, um das Fehlen von Laufzeitfehlern und Logikverletzungen zu beweisen. Zudem ist die Laufzeitumgebung auf vorhersagbare Performance ausgelegt und nutzt einen spezialisierten Interpreter, der Garbage-Collection-Pausen eliminiert, um eine konsistente Ausführungslatenz zu gewährleisten. Das Projekt bietet eine umfassende Suite von Tools für die Entwicklung mit hoher Zuverlässigkeit, die Projekt-Paketmanagement, Abhängigkeitsverfolgung und automatisierte Code-Eigenschaftsverifizierung abdeckt. Es unterstützt zudem sprachunabhängiges Schnittstellendesign, was es Entwicklern ermöglicht, gemeinsame Datenstrukturen und Service-Verträge zu definieren, die eine konsistente Validierung über verschiedene Softwarekomponenten hinweg sicherstellen.
Integrates automated theorem provers and symbolic execution engines to mathematically prove the absence of runtime errors and logic violations.
Diaphora ist ein Binär-Diffing-Tool und eine Ähnlichkeits-Engine, die entwickelt wurde, um kompilierte Binärdateien zu vergleichen und geänderte oder übereinstimmende Codeabschnitte zu identifizieren. Es fungiert als Reverse-Engineering-Plugin, das Beziehungen zwischen Funktionen abbildet und Kompilierungseinheiten mittels Assembler-Analyse und Graphentheorie erkennt. Das Projekt ist auf die Analyse von Sicherheits-Patches spezialisiert und ermöglicht es Benutzern, Sicherheitskorrekturen durch den Vergleich verschiedener Versionen einer Binärdatei zu erkennen. Es synchronisiert Analyse-Metadaten, wie Symbolnamen und Kommentare, zwischen Binärdateien und generiert Patches durch den Vergleich von dekompiliertem Pseudocode. Die Engine nutzt Kontrollflussgraphen und heuristisches Matching, um Ähnlichkeitsverhältnisse zwischen Funktionen zu berechnen. Zu den weiteren Fähigkeiten gehören das Abbilden von Aufruf-Graphen, das Identifizieren von Objektdatei-Grenzen und die Verwaltung des Analysestatus über eine relationale Datenbank, um groß angelegte Querverweise zu erleichtern.
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.