Deductive Verification with Ghost Monitors

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.
Document type :
Conference papers
Complete list of metadatas

Cited literature [23 references]  Display  Hide  Download

https://hal.inria.fr/hal-02368284
Contributor : Claude Marché <>
Submitted on : Monday, November 18, 2019 - 2:36:10 PM
Last modification on : Monday, December 9, 2019 - 5:24:08 PM

File

article.pdf
Files produced by the author(s)

Identifiers

Citation

Martin Clochard, Claude Marché, Andrei Paskevich. Deductive Verification with Ghost Monitors. Principles of Programming Languages, 2020, New Orleans, United States. ⟨10.1145/3371070⟩. ⟨hal-02368284⟩

Share

Metrics

Record views

21

Files downloads

25