Linearizability is a standard correctness criterion for concurrent algorithms, typically proved by establishing the algorithms' linearization points. However, linearization points often hinder abstraction, and for some algorithms it is unclear how to even identify their linearization points. This dissertation shows how to develop declarative proofs of linearizability by foregoing linearization points and instead employing axiomatization of so-called visibility relations. While visibility relations have been considered before for some of the data structures explored in this dissertation, the results in this document are the first to show how to derive concurrent axiomatizations systematically and intuitively from the atomic specification of the data structure. The main contribution of this dissertation is the extension of the visibility relations technique with a novel relation, called separability, that emerges to generalize real-time precedence of procedure invocation. It is the separability relation that enables the systematic derivation of concurrent axiomatizations from atomic specifications. The visibility and separability relations have natural definitions for the algorithms considered in this dissertation. This provides strong evidence that visibility and separability are useful abstractions for building declarative proofs of linearizability. In particular, this dissertation applies visibility and separability to build novel linearizability proofs for the Timestamped stack of Dodds et al. and several descriptor-based algorithms of Harris et al. (RDCSS, MCAS, and optimizations).
© 2001-2026 Fundación Dialnet · Todos los derechos reservados