On Model-Checking Higher-Order Effectful Programs (Long Version)

08/31/2023
by   Ugo Dal Lago, et al.
0

Model-checking is one of the most powerful techniques for verifying systems and programs, which since the pioneering results by Knapik et al., Ong, and Kobayashi, is known to be applicable to functional programs with higher-order types against properties expressed by formulas of monadic second-order logic. What happens when the program in question, in addition to higher-order functions, also exhibits algebraic effects such as probabilistic choice or global store? The results in the literature range from those, mostly positive, about nondeterministic effects, to those about probabilistic effects, in the presence of which even mere reachability becomes undecidable. This work takes a fresh and general look at the problem, first of all showing that there is an elegant and natural way of viewing higher-order programs producing algebraic effects as ordinary higher-order recursion schemes. We then move on to consider effect handlers, showing that in their presence the model checking problem is bound to be undecidable in the general case, while it stays decidable when handlers have a simple syntactic form, still sufficient to capture so-called generic effects. Along the way we hint at how a general specification language could look like, this way justifying some of the results in the literature, and deriving new ones.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/24/2017

Higher-Order Program Verification via HFL Model Checking

There are two kinds of higher-order extensions of model checking: HORS m...
research
11/12/2022

Open Higher-Order Logic (Long Version)

We introduce a variation on Barthe et al.'s higher-order logic in which ...
research
12/24/2020

Verifying Liveness Properties of ML Programs

Higher-order recursion schemes are a higher-order analogue of Boolean Pr...
research
11/06/2018

On the Termination Problem for Probabilistic Higher-Order Recursive Programs

In the last two decades, there has been much progress on model checking ...
research
11/15/2021

Towards Capturing PTIME with no Counting Construct (but with a Choice Operator)

The central open question in Descriptive Complexity is whether there is ...
research
03/29/2019

Fooling the Parallel Or Tester with Probability 8/27

It is well-known that the higher-order language PCF is not fully abstrac...
research
03/07/2022

Handling Higher-Order Effects

Algebraic effect handlers is a programming paradigm where programmers ca...

Please sign up or login with your details

Forgot password? Click here to reset