{. , spawn(s), spawn(p), send( 1), send( 2))

{. , spawn(s), spawn(p), send( 1), send( 2)), let S = spawn(server/0

(. {-};-c and . Spawn, send( 1), send( 2)), let P = spawn

(. {-};-c and . Spawn, send( 1), send( 2)), let P = spawn(proxy/0, [ ]) in apply client/2 (P, s) | s, (rec( 2)), receive

(. {-};-c and . Send, )), apply client/2 (p, s) | s, (rec( 2)), receive, | p, (rec

(. {-};-c and . Send, , p.40

, | s, (rec( 2)), receive . . . | p, (rec( 1), send

(. {-};-c and . Send,

, | s, (rec( 2)), receive . . . | p, (rec( 1), send

, 1})}; c, (send( 2)), let Y = s ! 2 in . . . | s, (rec( 2)), receive

. |-p and . Rec,

, 1})}; c, (send( 2)), let Y = s ! 2 in . . . | s, (rec( 2)), receive

. |-p and . Rec, send( 3)), receive

(. {-};-c and . Send, )), let Y = s ! 2 in . . . | s, (rec( 2)), receive

. |-p,

. 40}, (. 3})};-c, and . Send, )), let Y = s ! 2 in . . . | s, (rec( 2)), receive

, (c, s, {2, 2})}; c, (), receive . . . | s, (rec( 2)), receive

. 40} and R. .. 3})};-c,-(),

D. Aumayr, S. Marr, C. Béra, E. G. Boix, and H. Mössenböck, Efficient and deterministic record & replay for actor languages, Proceedings of the 15th International Conference on Managed Languages & Runtimes, 2018.

T. Britton, L. Jeng, G. Carver, P. Cheak, and T. Katzenellenbogen, Reversible debugging software -quantify the time and cost saved using reversible debuggers, 2012.

R. Carlsson, B. Gustavsson, E. Johansson, T. Lindgren, S. O. Nyström et al., , 2004.

Y. Chen, S. Zhang, Q. Guo, L. Li, R. Wu et al., Deterministic replay: A survey, ACM Comput. Surv, vol.48, issue.2, p.47, 2015.

, Frequently Asked Questions about Erlang, 2018.

E. Giachino, I. Lanese, and C. A. Mezzina, Causal-consistent reversible debugging, Proceedings of the 17th International Conference on Fundamental Approaches to Software Engineering, vol.8411, pp.370-384, 2014.
URL : https://hal.archives-ouvertes.fr/hal-01089270

E. Giachino, I. Lanese, C. A. Mezzina, and F. Tiezzi, Causal-consistent rollback in a tuple-based language, J. Log. Algebr. Meth. Program, vol.88, pp.99-120, 2017.
URL : https://hal.archives-ouvertes.fr/hal-01633260

J. Huang, P. Liu, and C. Zhang, LEAP: lightweight deterministic multi-processor replay of concurrent java programs, Proceedings of the 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp.385-386, 2010.

J. Huang and C. Zhang, Debugging concurrent software: Advances and challenges, J. Comput. Sci. Technol, vol.31, issue.5, pp.861-868, 2016.

Y. Jiang, T. Gu, C. Xu, X. Ma, and J. Lu, CARE: cache guided deterministic replay for concurrent java programs, 36th International Conference on Software Engineering, ICSE '14, pp.457-467, 2014.

L. Lamport, Time, clocks, and the ordering of events in a distributed system, Commun. ACM, vol.21, issue.7, pp.558-565, 1978.

I. Lanese, C. A. Mezzina, A. Schmitt, and J. Stefani, Controlling reversibility in higher-order pi, Proceedings of the 22nd International Conference on Concurrency Theory, vol.6901, pp.297-311, 2011.

I. Lanese, N. Nishida, A. Palacios, and G. Vidal, CauDEr: A Causal-Consistent Reversible Debugger for Erlang (system description), Proceedings of the 14th International Symposium on Functional and Logic Programming (FLOPS'18), vol.10818, pp.247-263, 2018.

I. Lanese, N. Nishida, A. Palacios, and G. Vidal, CauDEr website, 2018.

I. Lanese, N. Nishida, A. Palacios, and G. Vidal, A theory of reversibility for Erlang, Journal of Logical and Algebraic Methods in Programming, vol.100, pp.71-97, 2018.
URL : https://hal.archives-ouvertes.fr/hal-01912856

I. Lanese, A. Palacios, and G. Vidal, CauDEr, Causal-consistent Reversible Replay Debugger

I. Lanese, A. Palacios, and G. Vidal, Causal-consistent replay debugging for message passing programs, DSIC, Universitat Politècnica de València, 2019.
URL : https://hal.archives-ouvertes.fr/hal-02313745

T. J. Leblanc and J. M. Mellor-crummey, Debugging parallel programs with instant replay, IEEE Trans. Computers, vol.36, issue.4, pp.471-482, 1987.

M. Maruyama, T. Tsumura, and H. Nakashima, Parallel program debugging based on data-replay, Proceedings of the IASTED International Conference on Parallel and Distributed Computing and Systems, pp.151-156, 2005.

A. W. Mazurkiewicz, Petri Nets: Central Models and Their Properties, Advances in Petri Nets, Part II, Proceedings of an Advanced Course, vol.255, pp.279-324, 1986.

R. H. Netzer and B. P. Miller, Optimal tracing and replay for debugging messagepassing parallel programs, The Journal of Supercomputing, vol.8, issue.4, pp.371-388, 1995.

N. Nishida, A. Palacios, and G. Vidal, A reversible semantics for Erlang, Proceedings of the 26th International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2016), vol.10184, pp.259-274, 2017.

R. Perera, D. Garg, and J. Cheney, Causally consistent dynamic slicing, :15. Schloss Dagstuhl -Leibniz-Zentrum fuer Informatik, vol.59, pp.1-18, 2016.

U. Software, Increasing software development productivity with reversible debugging, 2014.

H. Sutter, The free lunch is over: A fundamental turn toward concurrency in software, Dr. Dobb's Journal, vol.30, issue.3, 2005.

H. Svensson, L. A. Fredlund, and C. B. Earle, A unified semantics for future Erlang, 9th ACM SIGPLAN workshop on Erlang, pp.23-32, 2010.

K. Veeraraghavan, D. Lee, B. Wester, J. Ouyang, P. M. Chen et al., Doubleplay: Parallelizing sequential logging and replay, ACM Trans. Comput. Syst, vol.30, issue.1, p.24, 2012.