Show simple item record

dc.rights.licenseCC-BY-NC-ND
dc.contributor.advisorSwierstra, W.S.
dc.contributor.advisorOosten, J. van
dc.contributor.authorBaanen, T.
dc.date.accessioned2019-08-29T17:00:53Z
dc.date.available2019-08-29T17:00:53Z
dc.date.issued2019
dc.identifier.urihttps://studenttheses.uu.nl/handle/20.500.12932/33768
dc.description.abstractIn the process of software engineering, we want to be sure that our code will function according to our requirements. The refinement calculus is a system that allows for mathematical correctness proofs, for imperative programs using a specific set of side effects. In the thesis, we explain how to use algebraic effects to add side effects to a purely functional program, and how to generalize concepts from the refinement calculus to develop and verify programs with algebraic effects. We work in the dependently typed programming language Agda, illustrating that this approach allows for formal verification of programs.
dc.description.sponsorshipUtrecht University
dc.format.extent459408
dc.format.mimetypeapplication/pdf
dc.language.isoen
dc.titleAlgebraic effects, specification and refinement
dc.type.contentMaster Thesis
dc.rights.accessrightsOpen Access
dc.subject.keywordsprogram verification,semantics,predicate transformer,effect,refinement,program calculation,constructive mathematics,intuitionistic mathematics,type theory,formal verification,weakest precondition,dependent types,free monads,Agda,
dc.subject.courseuuComputing Science


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record