Automated Temporal Verification for Algebraic Effects
Description
Although effect handlers offer a versatile abstraction for user-defined effects, they produce complex and less restricted execution traces due to the composable non-local control flow mechanisms. This paper is interested in the temporal behaviors of effect sequences, such as unhandled effects, termination of the communication, safety, fairness, etc. Specifically, we propose a novel effects logic ContEffs, to write precise and modular specifications for programs in the presence of user-defined effect handlers and primitive effects. As a second contribution, we devise a forward verifier together with a fixpoint calculator to infer the behaviors of such programs. Lastly, our automated verification framework provides a purely algebraic term-rewriting system (TRS) as the back-end solver, efficiently checking the entailments between ContEffs assertions. To demonstrate the feasibility of our proposals, we prototype a verification system where zero-shot, one-shot, and multi-shot continuations coexist; prove its correctness; present experimental results; and report on case studies.
Files
APLAS2022_No94.pdf
Files
(457.8 kB)
Name | Size | Download all |
---|---|---|
md5:51bd5ee9f472c310e6d99ae7094409b7
|
454.0 kB | Preview Download |
md5:ce4f7b752ab07a52135c4fcb91ad68a2
|
3.8 kB | Preview Download |