H. B. Axelsen and R. Glück, Reversible Representation and Manipulation of Constructor Terms in the Heap, Reversible Computation, vol.7948, pp.96-109, 2013.

H. B. Axelsen, R. Glück, and T. Yokoyama, Reversible Machine Code and Its Abstract Processor Architecture, Computer Science ? Theory and Applications, vol.4649, pp.56-69

F. Bagnoli, R. Rechtman, and S. El-yacoubi, Control of cellular automata, Physical Review E, vol.86, issue.6, p.66201, 2012.
URL : https://hal.archives-ouvertes.fr/hal-01771470

F. Bagnoli and H. Siljak, Reversible Cellular Automata, Control of reversible cellular automata

F. Barbanera, I. Lanese, and U. De'liguoro, A theory of retractable and speculative contracts, Science of Computer Programming, vol.167, pp.25-50, 2018.
URL : https://hal.archives-ouvertes.fr/hal-01912858

C. H. Bennett, Logical Reversibility of Computation, IBM Journal of Research and Development, vol.17, issue.6, pp.525-532, 1973.

P. G. Bishop, Using reversible computing to achieve fail-safety, Proceedings The Eighth International Symposium on Software Reliability Engineering, pp.182-191

R. Carlsson, Core Erlang 1.0.3. Language specification, 2004.

C. D. Carothers, K. S. Perumalla, and R. M. Fujimoto, Efficient optimistic parallel simulations using reverse computation, ACM Transactions on Modeling and Computer Simulation, vol.9, issue.3, pp.224-253, 1999.

I. Cassar, A. Francalanza, C. A. Mezzina, and E. Tuosto, Reliability and Fault-Tolerance by Choreographic Design, Electronic Proceedings in Theoretical Computer Science, vol.254, pp.69-80, 2017.

I. Castellani, M. Dezani-ciancaglini, and P. Giannini, Reversible sessions with flexible choices, Acta Informatica, vol.56, issue.7-8, pp.553-583, 2019.
URL : https://hal.archives-ouvertes.fr/hal-02420508

S. Chen, W. K. Fuchs, and J. Chung, Reversible debugging using program instrumentation, IEEE Trans. Softw. Eng, vol.27, pp.715-727, 2001.

M. H. Cservenka, R. Glück, T. Haulund, and T. Æ. Mogensen, Data Structures and Dynamic Memory Management in Reversible Languages, Reversible Computation, vol.11106, pp.269-285, 2018.

V. Danos and J. Krivine, Reversible Communicating Systems, CONCUR 2004 - Concurrency Theory, vol.3170, pp.292-307, 2004.
URL : https://hal.archives-ouvertes.fr/hal-00784051

F. De-vries and J. A. Pérez, Reversible Session-Based Concurrency in Haskell, Lecture Notes in Computer Science, vol.11457, pp.20-45, 2019.

M. Dezani-ciancaglini and P. Giannini, Reversible multiparty sessions with checkpoints, Proceedings Combined 23rd International Workshop on Expressiveness in Concurrency and 13th Workshop on Structural Operational Semantics, EXPRESS/SOS 2016. EPTCS, vol.222, pp.60-74, 2016.

E. N. Elnozahy and W. Zwaenepoel, Manetho: transparent roll back-recovery with low overhead, limited rollback, and fast output commit, IEEE Transactions on Computers, vol.41, issue.5, pp.526-531, 1992.

J. Engblom, A review of reverse debugging, System, Software, SoC and Silicon Debug, pp.1-6, 2012.

M. Fink, Time reversal of ultrasonic fields. I. Basic principles, IEEE Transactions on Ultrasonics, Ferroelectrics and Frequency Control, vol.39, issue.5, pp.555-566, 1992.

A. Francalanza, C. A. Mezzina, and E. Tuosto, Reversible Choreographies via Monitoring in Erlang, Distributed Applications and Interoperable Systems, vol.10853, pp.75-92, 2018.
URL : https://hal.archives-ouvertes.fr/hal-01824635

A. Francalanza, C. A. Mezzina, and E. Tuosto, Towards Choreographic-Based Monitoring, Reversible Computation: Extending Horizons of Computing, vol.12070, pp.128-150, 2020.

E. Fredkin and T. Toffoli, Conservative logic, International Journal of Theoretical Physics, vol.21, issue.3-4, pp.219-253, 1982.

E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Abstraction and Reuse of Object-Oriented Design, Software Pioneers, pp.701-717, 2002.

D. Gay and A. Aiken, Language support for regions, Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation - PLDI '01, pp.70-80, 2001.

E. Giachino, I. Lanese, and C. A. Mezzina, Causal-Consistent Reversible Debugging, 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, Journal of Logical and Algebraic Methods in Programming, vol.88, pp.99-120, 2017.
URL : https://hal.archives-ouvertes.fr/hal-01633260

R. Glück and T. Yokoyama, A linear-time self-interpreter of a reversible imperative language, Comput. Softw, vol.33, issue.3, pp.108-128, 2016.

R. Glück and T. Yokoyama, Constructing a binary tree from its traversals by reversible recursion and iteration, Information Processing Letters, vol.147, pp.32-37, 2019.

T. Haulund, T. Æ. Mogensen, and R. Glück, Implementing Reversible Object-Oriented Language Features on Reversible Machines, Reversible Computation, vol.10301, pp.66-73, 2017.

J. Hoey, I. Ulidowski, and S. Yuen, Reversing Imperative Parallel Programs, Electronic Proceedings in Theoretical Computer Science, vol.255, pp.51-66, 2017.

J. Hoey, I. Lanese, N. Nishida, I. Ulidowski, and G. Vidal, A Case Study for Reversible Computing: Reversible Debugging of Concurrent Programs, Reversible Computation: Extending Horizons of Computing, vol.12070, pp.108-127, 2020.

J. Hoey and I. Ulidowski, Reversible Imperative Parallel Programs and Debugging, Reversible Computation, vol.11497, pp.108-127, 2019.

J. Hoey and I. Ulidowski, Reversible Imperative Parallel Programs and Debugging, Reversible Computation, pp.108-127, 2019.

J. Hoey, I. Ulidowski, and S. Yuen, Reversing Imperative Parallel Programs, Electronic Proceedings in Theoretical Computer Science, vol.255, pp.51-66, 2017.

J. Hoey, I. Ulidowski, and S. Yuen, Reversing parallel programs with blocks and procedures, Proceedings Combined 25th International Workshop on Expressiveness in Concurrency and 15th Workshop on Structural Operational Semantics, vol.276, pp.69-86, 2018.

H. Hüttel, I. Lanese, V. T. Vasconcelos, L. Caires, M. Carbone et al., Foundations of Session Types and Behavioural Contracts, ACM Computing Surveys, vol.49, issue.1, pp.1-36, 2016.

D. E. Knuth, The Art of Computer Programming: Fundamental Algorithms, 1998.

R. Landauer, Irreversibility and Heat Generation in the Computing Process, IBM Journal of Research and Development, vol.5, issue.3, pp.183-191, 1961.

I. Lanese, C. A. Mezzina, A. Schmitt, and J. Stefani, Controlling Reversibility in Higher-Order Pi, CONCUR 2011 ? 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, Functional and Logic Programming, pp.247-263, 2018.
URL : https://hal.archives-ouvertes.fr/hal-01912894

I. Lanese, N. Nishida, A. Palacios, and G. Vidal, CauDEr: A Causal-Consistent Reversible Debugger for Erlang, Functional and Logic Programming, pp.247-263, 2018.
URL : https://hal.archives-ouvertes.fr/hal-01912894

I. Lanese, N. Nishida, A. Palacios, and G. Vidal, CauDEr: A Causal-Consistent Reversible Debugger for Erlang, Functional and Logic Programming, vol.10818, pp.247-263, 2018.
URL : https://hal.archives-ouvertes.fr/hal-01912894

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, Causal-Consistent Replay Debugging for Message Passing Programs, Formal Techniques for Distributed Objects, Components, and Systems, vol.11535, pp.167-184, 2019.
URL : https://hal.archives-ouvertes.fr/hal-02313745

G. B. Leeman, A formal approach to undo operations in programming languages, ACM Transactions on Programming Languages and Systems, vol.8, issue.1, pp.50-87, 1986.

E. Letuchy, Proceedings of the 8th ACM SIGPLAN workshop on Erlang - Erlang '09, 2009.

C. A. Mezzina and J. A. Pérez, Reversible semantics in session-based concurrency, Proceedings of the 17th Italian Conference on Theoretical Computer, vol.1720, pp.221-226, 2016.

C. A. Mezzina and J. A. Pérez, Reversible Sessions Using Monitors, Electronic Proceedings in Theoretical Computer Science, vol.211, pp.56-64, 2016.

C. A. Mezzina and J. A. Pérez, Causally consistent reversible choreographies, Proceedings of the 19th International Symposium on Principles and Practice of Declarative Programming, pp.127-138, 2017.

C. A. Mezzina and J. A. Pérez, Reversibility in session-based concurrency: A fresh look, Journal of Logical and Algebraic Methods in Programming, vol.90, pp.2-30, 2017.

R. Neykova and N. Yoshida, Let it recover: multiparty protocol-induced recovery, Proceedings of the 26th International Conference on Compiler Construction - CC 2017, pp.98-108, 2017.

N. Nishida, A. Palacios, and G. Vidal, A Reversible Semantics for Erlang, Logic-Based Program Synthesis and Transformation, vol.10184, pp.259-274, 2017.

K. Perumalla, Introduction to Reversible Computing, 2014.

A. Philippou and K. Psara, Reversible Computation in Petri Nets, Reversible Computation, vol.11106, pp.84-101, 2018.

A. Philippou, K. Psara, and H. Siljak, Controlling Reversibility in Reversing Petri Nets with Application to Wireless Communications, Reversible Computation, vol.11497, pp.238-245, 2019.

I. Phillips and I. Ulidowski, Reversing algebraic process calculi, The Journal of Logic and Algebraic Programming, vol.73, issue.1-2, pp.70-96, 2007.

I. Phillips, I. Ulidowski, and S. Yuen, A Reversible Process Calculus and the Modelling of the ERK Signalling Pathway, Reversible Computation, vol.7581, pp.218-232, 2013.

M. Schordan, D. Jefferson, P. Barnes, T. Oppelstrup, and D. Quinlan, Reverse Code Generation for Parallel Discrete Event Simulation, Reversible Computation, vol.9138, pp.95-110, 2015.

M. Schordan, T. Oppelstrup, D. Jefferson, P. D. Barnes, and D. J. Quinlan, Automatic Generation of Reversible C++ Code and Its Performance in a Scalable Kinetic Monte-Carlo Application, Proceedings of the 2016 annual ACM Conference on SIGSIM Principles of Advanced Discrete Simulation - SIGSIM-PADS '16, 2016.

U. P. Schultz, Reversible Object-Oriented Programming with Region-Based Memory Management, Reversible Computation, vol.11106, pp.322-328, 2018.

U. P. Schultz and H. B. Axelsen, Elements of a Reversible Object-Oriented Language, Reversible Computation, vol.9720, pp.153-159, 2016.

H. Siljak, Reversibility in Space, Time, and Computation: The Case of Underwater Acoustic Communications, Reversible Computation, vol.11106, pp.346-352, 2018.

H. Siljak, Reversible Computation: Extending Horizons of Computing, Reversible Computation: Theory and Applications, vol.12070, 2020.

H. Siljak, J. D. Rosny, and M. Fink, Reversible Hardware for Acoustic Communications, IEEE Communications Magazine, vol.58, issue.1, pp.55-61, 2020.

H. Siljak, K. Psara, and A. Philippou, Distributed Antenna Selection for Massive MIMO Using Reversing Petri Nets, IEEE Wireless Communications Letters, vol.8, issue.5, pp.1427-1430, 2019.

H. Siljak, K. Psara, and A. Philippou, Distributed Antenna Selection for Massive MIMO Using Reversing Petri Nets, IEEE Wireless Communications Letters, vol.8, issue.5, pp.1427-1430, 2019.

M. Tofte and J. Talpin, Region-Based Memory Management, Information and Computation, vol.132, issue.2, pp.109-176, 1997.

I. Ulidowski, Reversible Computation: Extending Horizons of Computing, ICT/Action IC1405/mou/IC1405-e.pdf 68. Undo Software: Undodb. Commercial reversible debugger, 2020.

M. Vassor and J. Stefani, Checkpoint/Rollback vs Causally-Consistent Reversibility, Reversible Computation, vol.11106, pp.286-303, 2018.
URL : https://hal.archives-ouvertes.fr/hal-01953756

G. Vulov, C. Hou, R. W. Vuduc, R. Fujimoto, D. J. Quinlan et al., The Backstroke framework for source level reverse computation applied to parallel discrete event simulation, Proceedings of the 2011 Winter Simulation Conference (WSC), 2011.

T. Yokoyama, H. B. Axelsen, and R. Glück, Reversible Flowchart Languages and the Structured Reversible Program Theorem, Automata, Languages and Programming, vol.5126, pp.258-270

T. Yokoyama, H. B. Axelsen, and R. Glück, Towards a Reversible Functional Language, Reversible Computation, vol.7165, pp.14-29, 2012.

T. Yokoyama and R. Glück, A reversible programming language and its invertible self-interpreter, Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation - PEPM '07, pp.144-153, 2007.