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

      Alone Together: Compositional Reasoning and Inference for Weak Isolation

      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

          Serializability is a well-understood correctness criterion that simplifies reasoning about the behavior of concurrent transactions by ensuring they are isolated from each other while they execute. However, enforcing serializable isolation comes at a steep cost in performance and hence database systems in practice support, and often encourage, developers to implement transactions using weaker alternatives. Unfortunately, the semantics of weak isolation is poorly understood, and usually explained only informally in terms of low-level implementation artifacts. Consequently, verifying high-level correctness properties in such environments remains a challenging problem. To address this issue, we present a novel program logic that enables compositional reasoning about the behavior of concurrently executing weakly-isolated transactions. Recognizing that the proof burden necessary to use this logic may dissuade application developers, we also describe an inference procedure based on this foundation that ascertains the weakest isolation level that still guarantees the safety of high-level consistency invariants associated with such transactions. The key to effective inference is the observation that weakly-isolated transactions can be viewed as functional (monadic) computations over an abstract database state, allowing us to treat their operations as state transformers over the database. This interpretation enables automated verification using off-the-shelf SMT solvers. Case studies and experiments of real-world applications (written in an embedded DSL in OCaml) demonstrate the utility of our approach.

          Related collections

          Most cited references24

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

          Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services

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

            Tentative steps toward a development method for interfering programs

            C Jones (1983)
              Bookmark
              • Record: found
              • Abstract: not found
              • Article: not found

              The notions of consistency and predicate locks in a database system

                Bookmark

                Author and article information

                Journal
                26 October 2017
                Article
                1710.09844
                2627cd87-559b-4b5f-9cc8-3858df47e9ec

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

                History
                Custom metadata
                42 pages, 11 figures
                cs.PL cs.LO

                Comments

                Comment on this article