Verifying a Concurrent Garbage Collector using a Rely-Guarantee Methodology

Abstract : Concurrent garbage collection algorithms are an emblematic challenge in the area of concurrent program verification. In this paper, we address this problem by proposing a mechanized proof methodology based on the popular Rely-Guarantee (RG) proof technique. We design a specific compiler intermediate representation (IR) with strong type guarantees, dedicated support for abstract concurrent data structures, and high-level iterators on runtime internals. In addition, we define an RG program logic supporting an incremental proof methodology where annotations and invariants can be progressively enriched. We formalize the IR, the proof system, and prove the soundness of the methodology in the Coq proof assistant. Equipped with this IR, we prove a fully concurrent garbage collector where mutators never have to wait for the collector.
Document type :
Conference papers
Complete list of metadatas

Cited literature [26 references]  Display  Hide  Download

https://hal.inria.fr/hal-01613389
Contributor : Delphine Demange <>
Submitted on : Wednesday, October 11, 2017 - 3:10:27 PM
Last modification on : Friday, September 13, 2019 - 9:48:42 AM
Long-term archiving on : Friday, January 12, 2018 - 3:08:43 PM

File

itp17.pdf
Files produced by the author(s)

Identifiers

Citation

Yannick Zakowski, David Cachera, Delphine Demange, Gustavo Petri, David Pichardie, et al.. Verifying a Concurrent Garbage Collector using a Rely-Guarantee Methodology. ITP 2017 - 8th International Conference on Interactive Theorem Proving, Sep 2017, Brasília, Brazil. pp.496-513, ⟨10.1007/978-3-319-66107-0_31⟩. ⟨hal-01613389⟩

Share

Metrics

Record views

1087

Files downloads

139