10 Repos
Validates system execution patterns against defined models to ensure operational correctness.
Distinct from Runtime Debugging Tools: Distinct from general runtime debugging: focuses on formal verification of execution patterns rather than interactive state inspection.
Explore 10 awesome GitHub repositories matching testing & quality assurance · Runtime Verification. 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.
F Prime ist ein komponentenbasiertes Framework für die Entwicklung und Bereitstellung von Embedded- und Raumfahrtsoftware. Es bietet eine modulare Architektur, die Softwarelogik von Kommunikationsschnittstellen entkoppelt und es Entwicklern ermöglicht, Systemstrukturen über eine domänenspezifische Modellierungssprache zu definieren. Dieser modellbasierte Ansatz ermöglicht eine automatisierte Codegenerierung, die Konsistenz über komplexe Systemtopologien hinweg gewährleistet und gleichzeitig strikte Schnittstellenverträge zwischen Softwaremodulen aufrechterhält. Das Framework zeichnet sich durch sein integriertes Build-System und eine Suite für Bodendatenoperationen aus. Es automatisiert den gesamten Lebenszyklus von Embedded-Software, von der Cross-Kompilierung und dem Abhängigkeitsmanagement bis hin zur Generierung von Telemetrie- und Befehlsschnittstellen. Durch die Bereitstellung einer einheitlichen Umgebung für Onboard-Flugsoftware und bodengestützte Überwachung erleichtert es die nahtlose Integration, das Testen sowie die Steuerung und Überwachung verteilter Embedded-Systeme über verschiedene Hardwareplattformen hinweg. Über die Kernarchitektur hinaus enthält das Projekt umfassende Werkzeuge für die Systembeobachtbarkeit, einschließlich Echtzeit-Telemetrie-Visualisierung, Ereignisprotokollierung und diagnostischer Tracing-Funktionen. Es unterstützt eine breite Palette von Bereitstellungsszenarien, von Bare-Metal-Umgebungen bis hin zu Echtzeitbetriebssystemen, und bietet Mechanismen für Speicherverwaltung, zustandsgesteuerte Verhaltensmodellierung und asynchrone Aufgabenausführung. Das Projekt wird als C++-Repository mit umfangreicher Dokumentation und Build-System-Unterstützung für die plattformübergreifende Entwicklung gepflegt.
Validates software state during execution by checking specified conditions and reporting violations.
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 kernel's C implementation matches its formal specification, including fast-path execution.
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.
Hercules is a security tool designed to protect Lua source code from reverse engineering and unauthorized analysis. It functions as a code transformation engine that secures application logic by applying multiple layers of obfuscation, including control flow manipulation and the wrapping of scripts within a custom virtual machine environment. The project distinguishes itself through a multi-stage pipeline architecture that allows for the development of custom, multi-layered protection strategies. By replacing standard language instructions with custom opcodes and reorganizing linear code into
Injects self-checking mechanisms into the bytecode to detect and block unauthorized modifications during the execution of the script.