Making programs reversible with minimal extra data

Research output: Contribution to journalJournal articleResearchpeer-review

Reversible computing is an unconventional computing paradigm that comes with specific challenges. One of the important questions is the existence of reversible programs with minimal extra output (garbage data). To answer this question for programs that implement partial functions over countable domains, we introduce an order on infinite garbage sets and a notion of minimality. To this end, we present two methods for functions specified by decidable and semi-decidable predicates. Both methods are universal, which means they work for all programs specified by the predicates. They cover Bennett’s classic input-erasing reversible computation of injective functions. Hence, any program written in a Turing-complete programming language can be implemented with g-minimal garbage in an r-Turing-complete reversible programming language. This generality comes at the cost of a considerable runtime due to the generate-and-test approach.

Original languageEnglish
JournalNew Generation Computing
Volume40
Issue number2
Pages (from-to)467-480
ISSN0288-3635
DOIs
Publication statusPublished - 2022

Bibliographical note

Publisher Copyright:
© 2022, Ohmsha, Ltd. and Springer Japan KK, part of Springer Nature.

    Research areas

  • Garbage data, Injectivization, Reversibilization, Reversible computing, Reversible programming

ID: 314299379