Abstract
Reversible programming is an unconventional paradigm that offers new ways to construct software. When programs have inherent inverse counterparts, such as compression/decompression, the invertibility of reversible implementations enables a “write once, verify once” approach. The nature of today’s computers is, however, irreversible. This work-in-progress contribution explores the dereversibilization of reversible source programs into irreversible target programs. As a first step into this space, we explore the use of state-of-the-art Satisfiability-Modulo-Theories (SMT) solvers to statically remove redundant assertions. We divide the problem space into two parts: High-level dereversibilization of Janus-like source programs and classical compilation to machine code. In this contribution, we focus on the semantics-preserving removal of assertions from reversible control-flow statements. Our prototype reduces the size of the assembly code and marks the first step towards automatic dereversibilization and new opportunities of using reversible programs.
Original language | English |
---|---|
Title of host publication | Reversible Computation - 15th International Conference, RC 2023, Proceedings |
Editors | Martin Kutrib, Uwe Meyer |
Publisher | Springer |
Publication date | 2023 |
Pages | 106-114 |
ISBN (Print) | 9783031380990 |
DOIs | |
Publication status | Published - 2023 |
Event | 15th International Conference on Reversible Computation, RC 2023 - Giessen, Germany Duration: 18 Jul 2023 → 19 Jul 2023 |
Conference
Conference | 15th International Conference on Reversible Computation, RC 2023 |
---|---|
Country/Territory | Germany |
City | Giessen |
Period | 18/07/2023 → 19/07/2023 |
Series | Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) |
---|---|
Volume | 13960 LNCS |
ISSN | 0302-9743 |
Bibliographical note
Publisher Copyright:© 2023, The Author(s), under exclusive license to Springer Nature Switzerland AG.
Keywords
- Compilation
- Program Transformation
- Reversible Languages
- Satisfiability-Modulo-Theories (SMT) Solver
- Static Analysis