D. Foo, Y. Song, and W.-N. Chin, “Staged Specification Logic for Verifying Higher-Order Imperative Programs,” in Formal Methods, A. Platzer, K. Y. Rozier, M. Pradella, and M. Rossi, Eds., Cham: Springer Nature Switzerland, 2025, pp. 501–518. doi: 10.1007/978-3-031-71162-6_26.

Some interesting topics on specifications

loops as functions so that instead of loop invariants, pre/post-conditions. what about side effects?

termination and non-termination specifications I have read the paper before

case specification function contract with case splits in specification

immutable specification specify that some inputs are not changed.

HO Functions

Imperative programs with HO functions are difficult to specify with pre/post-conditions (what about exceptions, immutability, etc.)

pre/post-conditions works for normal function, but not work well with HOF.

Solution: Staged Logics

  • Use sequence op’s for sequentialization. extended to Hoare Logic
  • Use intepreted and uninterpreted functions
  • Recursion

Algebraic Effects

Like exceptions, but caught effects (exceptions) is accompanied by continuation

Others

Correctness, Incorrectness and .. Non-termination