Reversible computing allows one to execute programs both in the standard, forward direction, and backward, going back to past states. In a concurrent scenario, the correct notion of reversibility is causal-consistent reversibility: any action can be undone, provided that all its consequences (if any) are undone beforehand. In this paper we present an overview of the main approaches, results, an...