Cargando…

Local Reasoning for Global Graph Properties

Separation logics are widely used for verifying programs that manipulate complex heap-based data structures. These logics build on so-called separation algebras, which allow expressing properties of heap regions such that modifications to a region do not invalidate properties stated about the remain...

Descripción completa

Detalles Bibliográficos
Autores principales: Krishna, Siddharth, Summers, Alexander J., Wies, Thomas
Formato: Online Artículo Texto
Lenguaje:English
Publicado: 2020
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7702264/
http://dx.doi.org/10.1007/978-3-030-44914-8_12
_version_ 1783616579823468544
author Krishna, Siddharth
Summers, Alexander J.
Wies, Thomas
author_facet Krishna, Siddharth
Summers, Alexander J.
Wies, Thomas
author_sort Krishna, Siddharth
collection PubMed
description Separation logics are widely used for verifying programs that manipulate complex heap-based data structures. These logics build on so-called separation algebras, which allow expressing properties of heap regions such that modifications to a region do not invalidate properties stated about the remainder of the heap. This concept is key to enabling modular reasoning and also extends to concurrency. While heaps are naturally related to mathematical graphs, many ubiquitous graph properties are non-local in character, such as reachability between nodes, path lengths, acyclicity and other structural invariants, as well as data invariants which combine with these notions. Reasoning modularly about such graph properties remains notoriously difficult, since a local modification can have side-effects on a global property that cannot be easily confined to a small region. In this paper, we address the question: What separation algebra can be used to avoid proof arguments reverting back to tedious global reasoning in such cases? To this end, we consider a general class of global graph properties expressed as fixpoints of algebraic equations over graphs. We present mathematical foundations for reasoning about this class of properties, imposing minimal requirements on the underlying theory that allow us to define a suitable separation algebra. Building on this theory, we develop a general proof technique for modular reasoning about global graph properties expressed over program heaps, in a way which can be directly integrated with existing separation logics. To demonstrate our approach, we present local proofs for two challenging examples: a priority inheritance protocol and the non-blocking concurrent Harris list.
format Online
Article
Text
id pubmed-7702264
institution National Center for Biotechnology Information
language English
publishDate 2020
record_format MEDLINE/PubMed
spelling pubmed-77022642020-12-01 Local Reasoning for Global Graph Properties Krishna, Siddharth Summers, Alexander J. Wies, Thomas Programming Languages and Systems Article Separation logics are widely used for verifying programs that manipulate complex heap-based data structures. These logics build on so-called separation algebras, which allow expressing properties of heap regions such that modifications to a region do not invalidate properties stated about the remainder of the heap. This concept is key to enabling modular reasoning and also extends to concurrency. While heaps are naturally related to mathematical graphs, many ubiquitous graph properties are non-local in character, such as reachability between nodes, path lengths, acyclicity and other structural invariants, as well as data invariants which combine with these notions. Reasoning modularly about such graph properties remains notoriously difficult, since a local modification can have side-effects on a global property that cannot be easily confined to a small region. In this paper, we address the question: What separation algebra can be used to avoid proof arguments reverting back to tedious global reasoning in such cases? To this end, we consider a general class of global graph properties expressed as fixpoints of algebraic equations over graphs. We present mathematical foundations for reasoning about this class of properties, imposing minimal requirements on the underlying theory that allow us to define a suitable separation algebra. Building on this theory, we develop a general proof technique for modular reasoning about global graph properties expressed over program heaps, in a way which can be directly integrated with existing separation logics. To demonstrate our approach, we present local proofs for two challenging examples: a priority inheritance protocol and the non-blocking concurrent Harris list. 2020-04-18 /pmc/articles/PMC7702264/ http://dx.doi.org/10.1007/978-3-030-44914-8_12 Text en © The Author(s) 2020 Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made. The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.
spellingShingle Article
Krishna, Siddharth
Summers, Alexander J.
Wies, Thomas
Local Reasoning for Global Graph Properties
title Local Reasoning for Global Graph Properties
title_full Local Reasoning for Global Graph Properties
title_fullStr Local Reasoning for Global Graph Properties
title_full_unstemmed Local Reasoning for Global Graph Properties
title_short Local Reasoning for Global Graph Properties
title_sort local reasoning for global graph properties
topic Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7702264/
http://dx.doi.org/10.1007/978-3-030-44914-8_12
work_keys_str_mv AT krishnasiddharth localreasoningforglobalgraphproperties
AT summersalexanderj localreasoningforglobalgraphproperties
AT wiesthomas localreasoningforglobalgraphproperties