Abstract Interpretation of Temporal Safety Effects of Higher Order Programs
Mihai Nicola, Chaitanya Agarwal, Eric Koskinen, Thomas Wies
Abstract
This paper describes a new abstract interpretation-based approach to verify temporal safety properties of recursive, higher-order programs. While prior works have provided theoretical impact and some automation, they have had limited scalability. We begin with a new automata-based "abstract effect domain" for summarizing context-sensitive dependent effects, capable of abstracting relations between the program environment and the automaton control state. Our analysis includes a new transformer for abstracting event prefixes to automatically computed context-sensitive effect summaries, and is instantiated in a type-and-effect system grounded in abstract interpretation. Since the analysis is parametric on the automaton, we next instantiate it to a broader class of history/register (or "accumulator") automata, beyond finite state automata to express some context-free properties, input-dependency, event summation, resource usage, cost, equal event magnitude, etc.
We implemented a prototype evDrift that computes dependent effect summaries (and validates assertions) for OCaml-like recursive higher-order programs. As a basis of comparison, we describe reductions to assertion checking for higher-order but effect-free programs, and demonstrate that our approach outperforms prior tools Drift, RCaml/Spacer, MoCHi, and ReTHFL. Overall, across a set of 23 benchmarks, Drift verified 12 benchmarks, RCaml/Spacer verified 6, MoCHi verified 11, ReTHFL verified 18, and evDrift verified 21; evDrift also achieved a 6.3×, 5.3×, 16.8×, and 6.4× speedup over Drift, RCaml/Spacer, MoCHi, and ReTHFL, respectively, on those benchmarks that both tools could solve.
• Software and its engineering → Software verification.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 0cc7402d-323d-4f17-b7ae-8d07d0912ebcBuilds on9
- SmartPulse: Automated Checking of Temporal Properties in Smart ContractsJon Stephens, Kostas Ferles, Benjamin Mariano, Shuvendu K. Lahiri et al.S&P 2021 · 70 citations
- Data flow refinement type inferenceZvonimir Pavlinovic, Yusen Su, Thomas WiesPOPL 2021 · 15 citations
- Temporal Verification with Answer-Effect Modification: Dependent Temporal Type-and-Effect System with Delimited ContinuationsTaro Sekiyama, Hiroshi UnnoPOPL 2023 · 15 citations
- Verifying correct usage of context-free API protocolsKostas Ferles, Jon Stephens, Isil DilligPOPL 2021 · 12 citations
- On Model-Checking Higher-Order Effectful ProgramsUgo Dal Lago, Alexis GhyselenPOPL 2024 · 10 citations
Related papers
- Algebraic Temporal Effects: Temporal Verification of Recursively Typed Higher-Order ProgramsTaro Sekiyama, Hiroshi UnnoPOPL 2025 · 2 citations
- Higher-Order Model Checking of Effect-Handling Programs with Answer-Type ModificationTaro Sekiyama, Hiroshi UnnoOOPSLA 2024 · 4 citations
- Derivative-Guided Symbolic ExecutionYongwei Yuan, Zhe Zhou, Julia Belyakova, Suresh JagannathanPOPL 2025 · 3 citations
- Modular Denotational Semantics for Effects with Guarded Interaction TreesDan Frumin, Amin Timany, Lars BirkedalPOPL 2024 · 13 citations
- Modeling Reachability Types with Logical Relations: Semantic Type Soundness, Termination, Effect Safety, and Equational TheoryYuyan Bao, Songlin Jia, Guannan Wei, Oliver Bracevac et al.OOPSLA 2025 · 3 citations
