2 Repos
Writing applications in languages with strong static guarantees, leveraging formal verification of the underlying kernel.
Distinct from Disk Write Verifications: Distinct from Disk Write Verifications: focuses on writing verified software, not verifying disk writes.
Explore 2 awesome GitHub repositories matching operating systems & systems programming · Verified Application Development. Refine with filters or upvote what's useful.
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
Supports writing applications in languages with strong static guarantees, leveraging formal verification of the kernel.
Coq ist ein interaktiver Theorem-Prover und Proof-Assistant, der für formale mathematische Verifizierung und verifizierte Softwareentwicklung eingesetzt wird. Er nutzt die funktionale Sprache Gallina, um berechenbare Funktionen und logische Propositionen zu definieren, die dann durch einen maschinengeprüften Kernel verifiziert werden. Das System verwendet ein abhängiges Typsystem und eine Proof-Engine im Caldicott-Stil, um die Beweissuche und Taktikausführung zu automatisieren. Diese Fähigkeiten ermöglichen die Erstellung formaler Spezifikationen und die Entwicklung von Algorithmen, die mathematisch bewiesen sind, spezifische Anforderungen zu erfüllen. Das Toolset umfasst Unterstützung für induktive Typdefinitionen, wohlfundierte Rekursion und verschiedene Repräsentationen reeller Zahlen. Es bietet ein Übersetzungssystem, um formale Spezifikationen in ausführbaren Quellcode für externe Programmiersprachen zu exportieren, und unterstützt die Kompilierung in nativen Code zur Beschleunigung der Berechnung. Die Umgebung integriert sich in Code-Editoren und IDEs und bietet automatisiertes Environment-Setup sowie externes Paketmanagement für zusätzliche Bibliotheken.
Enables developing functional programs and algorithms that are formally proven to meet a specific set of requirements.