arrow
Return

Structural Temporal Logic for Mechanized Program Verification

delete2025-10-01
delete0
PRE
AI
E
Eleftherios Ioannidis *
Y
Yannick Zakowski
S
Steve Zdancewic
S
Sebastian Angel
DOI:10.1145/3763091delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Mechanized verification of liveness properties for infinite programs with effects and nondeterminism is challenging. Existing temporal reasoning frameworks operate at the level of models such as traces and automata. Reasoning happens at a very low-level, requiring complex nested (co-)inductive proof techniques and familiarity with proof assistant mechanics (e.g., the guardedness checker). Further, reasoning at the level of models instead of program constructs creates a verification gap that loses the benefits of modularity and composition enjoyed by structural program logics such as Hoare Logic. To address this verification gap, and the lack of compositional proof techniques for temporal specifications, we propose Ticl, a new structural temporal logic. Using Ticl, we encode complex (co-)inductive proof techniques as structural lemmas and focus our reasoning on variants and invariants. We show that it is possible to perform compositional proofs of general temporal properties in a proof assistant, while working at a high level of abstraction. We demonstrate the benefits of Ticl by giving mechanized proofs of safety and liveness properties for programs with scheduling, concurrent shared memory, and distributed consensus, demonstrating a low proof-to-code ratio.
Keywords:
Formal Verification
Semantics
Temporal Logic
Program Verification
Proof Assistant
Systems Verification

Journal

P
Proceedings of the ACM on Programming Languages-PACMPL
IF:
2.8
Papers:
308
Citations:
4.7K

Organization

I
Inria
Scholars:
3.5K
Papers: 2.5K
Citations: 343
U
University of Pennsylvania
Scholars:
1.2W
Papers: 4.4K
Citations: 11.8W
Cited Papers

Cited Papers

Verification of SMT Systems with Quantifiers
err2022-01-01
err0
PREAI
errCimatti,Alessandro; Griggio,Alberto; Redondi,Gianluca
errShare
errSave
Modular, compositional, and executable formal semantics for LLVM IR
err2021-08-22
err0
PREAI
errZakowski,Yannick; Beck,Calvin; Yoon,Irene; Zaichuk,Ilia; Zaliva,Vadim; Zdancewic,Steve
errShare
errSave
Dijkstra monads for all
err2019-07-26
err0
PREAI
errMaillard,Kenji; Ahman,Danel; Atkey,Robert; Martínez,Guido; Hriţcu,Cătălin; Rivas,Exequiel; Tanter,Éric
errShare
errSave
Fair Operational Semantics
err2023-06-06
err0
errOAAI
errDongjae Lee; Minki Cho; Jinwoo Kim; Soonwon Moon; Youngju Song; Chung-Kil Hur
errShare
errSave
researcher View more