The formal semantics of programming languages: an introduction
The formal semantics of programming languages: an introduction
On reversible subroutines and computers that run backwards
Communications of the ACM
A reversible carry-look-ahead adder using control gates
Integration, the VLSI Journal
Reversibility for efficient computing
Reversibility for efficient computing
Reversible computer engineering and architecture
Reversible computer engineering and architecture
A reversible programming language and its invertible self-interpreter
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Irreversibility and heat generation in the computing process
IBM Journal of Research and Development
Logical reversibility of computation
IBM Journal of Research and Development
Semi-inversion of guarded equations
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
A Method for Automatic Program Inversion Based on LR(0) Parsing
Fundamenta Informaticae - Program Transformation: Theoretical Foundations and Basic Techniques. Part 1
Principles of a reversible programming language
Proceedings of the 5th conference on Computing frontiers
Reversible Flowchart Languages and the Structured Reversible Program Theorem
ICALP '08 Proceedings of the 35th international colloquium on Automata, Languages and Programming, Part II
Parallel Optimization of a Reversible (Quantum) Ripple-Carry Adder
UC '08 Proceedings of the 7th international conference on Unconventional Computing
Bidirectional Transformations: A Cross-Discipline Perspective
ICMT '09 Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations
A Virtual Machine for Supporting Reversible Probabilistic Guarded Command Languages
Electronic Notes in Theoretical Computer Science (ENTCS)
Reversible Computation and Reversible Programming Languages
Electronic Notes in Theoretical Computer Science (ENTCS)
What do reversible programs compute?
FOSSACS'11/ETAPS'11 Proceedings of the 14th international conference on Foundations of software science and computational structures: part of the joint European conferences on theory and practice of software
Clean translation of an imperative reversible programming language
CC'11/ETAPS'11 Proceedings of the 20th international conference on Compiler construction: part of the joint European conferences on theory and practice of software
Rematerialization-based register allocation through reverse computing
Proceedings of the 8th ACM International Conference on Computing Frontiers
A simple and efficient universal reversible turing machine
LATA'11 Proceedings of the 5th international conference on Language and automata theory and applications
A reversible processor architecture and its reversible logic design
RC'11 Proceedings of the Third international conference on Reversible Computation
A reversible abstract machine and its space overhead
FMOODS'12/FORTE'12 Proceedings of the 14th joint IFIP WG 6.1 international conference and Proceedings of the 32nd IFIP WG 6.1 international conference on Formal Techniques for Distributed Systems
Describing and optimising reversible logic using a functional language
IFL'11 Proceedings of the 23rd international conference on Implementation and Application of Functional Languages
Reversible representation and manipulation of constructor terms in the heap
RC'13 Proceedings of the 5th international conference on Reversible Computation
Hi-index | 0.00 |
A reversible abstract machine architecture and its reversible machine code are presented and formalized. For machine code to be reversible, both the underlying control logic and each instruction must be reversible. A general class of machine instruction sets was proven to be reversible, building on our concept of reversible updates. The presentation is abstract and can serve as a guideline for a family of reversible processor designs. By example, we illustrate programming principles for the abstract machine architecture formalized in this paper.