  Linearizability is a standard correctness criterion for concurrent
algorithms, typically proved by establishing the algorithms' linearization
points. However, relying on linearization points leads to proofs that are
implementation-dependent, and thus hinder abstraction and reuse. In this paper
we show that one can develop more declarative proofs by foregoing linearization
points and instead relying on a technique of axiomatization of visibility
relations. While visibility relations have been considered before, ours is the
first study where the challenge is to formalize the helping nature of the
algorithms. In particular, we show that by axiomatizing the properties of
separation between events that contain bunches of help requests, we can extract
what is common for high-level understanding of several descriptor-based helping
algorithms of Harris et al. (RDCSS, MCAS, and optimizations), and produce novel
proofs of their linearizability that share significant components.
