semantics of C in Isabelle/HOL
E850682
The "semantics of C in Isabelle/HOL" is a formal, machine-checked specification of the C programming language within the Isabelle/HOL proof assistant, used to rigorously verify C programs and systems.
Statements (48)
| Predicate | Object |
|---|---|
| instanceOf |
Isabelle/HOL development
ⓘ
formal semantics ⓘ machine-checked specification ⓘ |
| aimsTo |
enable end-to-end verification from C source to implementation
ⓘ
model realistic C code used in systems software ⓘ |
| belongsTo | Isabelle/HOL ecosystem ⓘ |
| defines |
operational semantics for C constructs
ⓘ
state transition rules for C execution ⓘ |
| enables |
linking C-level proofs with higher-level specifications
ⓘ
proofs of absence of certain runtime errors ⓘ proofs of functional correctness of C programs ⓘ proofs of memory safety properties ⓘ |
| formalisedIn | Isabelle/HOL NERFINISHED ⓘ |
| hasComponent |
C expression semantics
ⓘ
C memory model NERFINISHED ⓘ C statement semantics ⓘ type system model for C ⓘ |
| hasProperty |
deep embedding of C
ⓘ
executable semantics ⓘ machine-checked ⓘ mechanised ⓘ supports automation ⓘ supports interactive proofs ⓘ |
| isPartOf | C verification environment in Isabelle/HOL ⓘ |
| models |
C arrays
ⓘ
C pointers ⓘ C structs ⓘ C unions ⓘ control flow in C ⓘ integer arithmetic in C ⓘ |
| relatedTo |
C verification framework in Isabelle
NERFINISHED
ⓘ
Hoare logic for C in Isabelle NERFINISHED ⓘ Isabelle C parser NERFINISHED ⓘ |
| represents | C programs as Isabelle/HOL datatypes ⓘ |
| supports |
Hoare logic reasoning for C
ⓘ
machine-checked proofs ⓘ refinement proofs ⓘ symbolic execution of C programs ⓘ verification condition generation ⓘ |
| targetsLanguage | C programming language NERFINISHED ⓘ |
| usedBy |
formal methods researchers
ⓘ
systems verification engineers ⓘ |
| usedFor |
formal reasoning about C code
ⓘ
verification of C programs ⓘ verification of operating systems ⓘ verification of systems software ⓘ |
| usedIn |
seL4 microkernel verification
ⓘ
verification of safety-critical software ⓘ |
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.