Deductive verification with ghost monitors
Martin Clochard, Claude Marché, Andrei Paskevich
Abstract
We present a new approach to deductive program verification based on auxiliary programs called ghost monitors . This technique is useful when the syntactic structure of the target program is not well suited for verification, for example, when an essentially recursive algorithm is implemented in an iterative fashion. Our approach consists in implementing, specifying, and verifying an auxiliary program that monitors the execution of the target program, in such a way that the correctness of the monitor entails the correctness of the target. The ghost monitor maintains the necessary data and invariants to facilitate the proof. It can be implemented and verified in any suitable framework, which does not have to be related to the language of the target programs. This technique is also applicable when we want to establish relational properties between two target programs written in different languages and having different syntactic structure. We then show how ghost monitors can be used to specify and prove fine-grained properties about the infinite behaviors of target programs. Since this cannot be easily done using existing verification frameworks, we introduce a dedicated language for ghost monitors, with an original construction to catch and handle divergent executions. The soundness of the underlying program logic is established using a particular flavor of transfinite games. This language and its soundness are formalized and mechanically checked.
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 7ce93844-a303-4ef2-87e1-a7854a91dab8Cited by top-tier papers5
- Constraint-Based Relational VerificationHiroshi Unno, Tachio Terauchi, Eric KoskinenCAV 2021 · 47 citations
- An Algebra of Alignment for Relational VerificationTimos Antonopoulos, Eric Koskinen, Ton Chanh Le, Ramana Nagasamudram et al.POPL 2023 · 17 citations
- Alignment Completeness for Relational Hoare LogicsRamana Nagasamudram, David A. NaumannLICS 2021 · 10 citations
- Property Directed Reachability with Extended ResolutionAndrew Luka, Yakir VizelCAV 2025 · 2 citations
- Encode the ∀∃ Relational Hoare Logic into Standard Hoare LogicShushu Wu, Xiwei Wu, Qinxiang CaoOOPSLA 2025 · 1 citation
Related papers
- Products of Recursive Programs for Hypersafety VerificationRuotong Cheng, Azadeh FarzanOOPSLA 2025
- Structural Temporal Logic for Mechanized Program VerificationEleftherios Ioannidis, Yannick Zakowski, Steve Zdancewic, Sebastian AngelOOPSLA 2025 · 1 citation
- Verifying higher-order concurrency with data automataAlex Dixon, Ranko Lazic, Andrzej S. Murawski, Igor WalukiewiczLICS 2021 · 2 citations
- Semantics of Sets of ProgramsJinwoo Kim, Shaan Nagy, Thomas Reps, Loris D'AntoniOOPSLA 2025 · 1 citation
- Infinitary Relational LogicVladimir Gladshtein, Qiyuan Zhao, Yuxi Ling, Sean Wang et al.OOPSLA 2026
