Mitigating ABA for Compare-and-Swap: a Survey

Compare-and-swap (CAS) is a central part of many implementations of lock-free algorithms synchronizing values in shared data structures. Without further scaffolding, CAS is inherently prone to the ABA problem. In this post I survey solutions mitigating ABA in the context of CAS towards a high-level classification.