12
views
0
recommends
+1 Recommend
0 collections
    0
    shares
      • Record: found
      • Abstract: found
      • Article: found
      Is Open Access

      Local Reasoning for Global Graph Properties

      Preprint
      , ,

      Read this article at

      Bookmark
          There is no author summary for this article yet. Authors can add summaries to their articles on ScienceOpen to make them more accessible to a non-specialist audience.

          Abstract

          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 over program heaps, in a way which can be 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.

          Related collections

          Most cited references39

          • Record: found
          • Abstract: not found
          • Article: not found

          An axiomatic basis for computer programming

          C. Hoare (1969)
            Bookmark
            • Record: found
            • Abstract: not found
            • Conference Proceedings: not found

            Separation logic: a logic for shared mutable data structures

              Bookmark
              • Record: found
              • Abstract: not found
              • Article: not found

              Priority inheritance protocols: an approach to real-time synchronization

                Bookmark

                Author and article information

                Journal
                19 November 2019
                Article
                1911.08632
                18a3ec1a-903f-4875-9c31-1262ddde47ec

                http://arxiv.org/licenses/nonexclusive-distrib/1.0/

                History
                Custom metadata
                cs.LO

                Theoretical computer science
                Theoretical computer science

                Comments

                Comment on this article