Plump, Detlef orcid.org/0000-0002-1148-822X and Wulandari, Gia (2018) Verifying a Copying Garbage Collector in GP 2. In: Mazzara, Manuel, Salaün, Gwen and Ober, Iulian, (eds.) Software Technologies:Applications and Foundations - STAF 2018 Collocated Workshops, Revised Selected Papers. 9th International Workshop on Graph Computation Models (GCM 2018), 27 Jun 2018 Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) . Springer , FRA , pp. 479-494.
Abstract
Cheney’s copying garbage collector is regarded as a challenging test case for formal approaches to the verification of imperative programs with pointers. The algorithm works for possibly cyclic data structures with unrestricted sharing which cannot be handled by standard separation logics. In addition, the algorithm relocates data and requires establishing an isomorphism between the initial and the final data structure of a program run. We present an implementation of Cheney’s garbage collector in the graph programming language GP 2 and a proof that it is totally correct. Our proof is shorter and less complicated than comparable proofs in the literature. This is partly due to the fact that the GP 2 program abstracts from details of memory management such as address arithmetic. We use sound proof rules previously employed in the verification of GP 2 programs but treat assertions semantically because current assertion languages for graph transformation cannot express the existence of an isomorphism between initial and final graphs.
Metadata
Item Type: | Proceedings Paper |
---|---|
Authors/Creators: |
|
Editors: |
|
Copyright, Publisher and Additional Information: | This is an author-produced version of the published paper. Uploaded in accordance with the publisher’s self-archiving policy. Further copying may not be permitted; contact the publisher for details |
Dates: |
|
Institution: | The University of York |
Academic Units: | The University of York > Faculty of Sciences (York) > Computer Science (York) |
Depositing User: | Pure (York) |
Date Deposited: | 04 Oct 2018 14:20 |
Last Modified: | 08 Mar 2025 00:02 |
Published Version: | https://doi.org/10.1007/978-3-030-04771-9_34 |
Status: | Published |
Publisher: | Springer |
Series Name: | Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) |
Identification Number: | 10.1007/978-3-030-04771-9_34 |
Related URLs: | |
Open Archives Initiative ID (OAI ID): | oai:eprints.whiterose.ac.uk:136719 |