Skip to Main content Skip to Navigation
Theses

Principles of Program Verification for Arbitrary Monadic Effects

Abstract : Computational monads are a convenient algebraic gadget to uniformly represent side-effects in programming languages, such as mutable state, divergence, exceptions, or non-determinism. Various frameworks for specifying programs and proving that they meet their specification have been proposed that are specific to a particular combination of side-effects. For instance, one can use Hoare logic to verify the functional correctness of programs with mutable state with respect to pre/post-conditions specifications, which are predicates on states. The goal of this thesis is to devise a principled semantic framework for verifying programs with arbitrary monadic effects in a generic way with respect to such rich specifications. One additional challenge is supporting various interpretations of effects, for instance total vs partial correctness, or angelic vs demonic nondeterminism. Finally, the framework should also accommodate relational verification, for properties such as program equivalence.
Complete list of metadatas

Cited literature [194 references]  Display  Hide  Download

https://hal.archives-ouvertes.fr/tel-02416788
Contributor : Kenji Maillard <>
Submitted on : Tuesday, December 17, 2019 - 7:16:11 PM
Last modification on : Friday, December 20, 2019 - 11:23:21 AM
Document(s) archivé(s) le : Wednesday, March 18, 2020 - 8:31:16 PM

File

PrinciplesOfProgramVerificatio...
Files produced by the author(s)

Identifiers

  • HAL Id : tel-02416788, version 1

Collections

Citation

Kenji Maillard. Principles of Program Verification for Arbitrary Monadic Effects. Computer Science [cs]. ENS Paris - Ecole Normale Supérieure de Paris, 2019. English. ⟨tel-02416788⟩

Share

Metrics

Record views

63

Files downloads

127