A Framework for the Automated Verification of Algebraic Effects and Handlers (extended version)

02/02/2023
by   Tiago Soares, et al.
0

Algebraic effects and handlers are a powerful abstraction to build non-local control-flow mechanisms such as resumable exceptions, lightweight threads, co-routines, generators, and asynchronous I/O. All of such features have very evolved semantics, hence they pose very interesting challenges to deductive verification techniques. In fact, there are very few proposed techniques to deductively verify programs featuring these constructs, even fewer when it comes to automated proofs. In this paper, we present an extension to Cameleer, a deductive verification tool for OCaml code, that allows one to reason about algebraic effects and handlers. Our proposal embeds the behavior of effects and handlers using exceptions and employs defunctionalization to deal with continuations exposed by effect handlers.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/18/2020

Handling Bidirectional Control Flow: Technical Report

Pressed by the difficulty of writing asynchronous, event-driven code, ma...
research
10/14/2021

Parallel Algebraic Effect Handlers

Algebraic effects and handlers support composable and structured control...
research
04/01/2021

Retrofitting Effect Handlers onto OCaml

Effect handlers have been gathering momentum as a mechanism for modular ...
research
08/16/2023

Continuing WebAssembly with Effect Handlers

WebAssembly (Wasm) is a low-level portable code format offering near nat...
research
11/18/2018

Handling polymorphic algebraic effects

Algebraic effects and handlers are a powerful abstraction mechanism to r...
research
05/26/2023

Automatic Program Instrumentation for Automatic Verification (Extended Technical Report)

In deductive verification and software model checking, dealing with cert...
research
07/21/2022

Temporal Verification with Answer-Effect Modification

Type-and-effect systems are a widely-used approach to program verificati...

Please sign up or login with your details

Forgot password? Click here to reset