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
         (456.0 kB)
        
      
    
    | Name | Size | Download all | 
|---|---|---|
| md5:51bd5ee9f472c310e6d99ae7094409b7 | 454.0 kB | Preview Download | 
| md5:6243ed9d8d7759259dce2747ab992cee | 2.0 kB | Preview Download |