Reversible Computing and Reversible Debugging are amazing and useful applications of Time Shifting via virtualisation, aiming at the massive problem of software unreliability. I believe my excited comments from 2005 still stand:
Reversibility is the biggest advance in debugging since source code debugging
— Me, on the GDB developers list
In 2026, apparent reversibility has come both a long way and not far at all. I am still very interested in it.
At the same time, the topics of logical reversibility and thermodynamic reversibility have become important, perhaps even presenting solutions to some of the big problems the large language model kind of AI has created.
What is apparent reversibility?
Apparent reversibility is about giving the appearance of a program executing backwards in time.
It is possible to have a network of running computers - say, Android, Windows, Linux running on miscellaneous hardware - and then to stop them all and reverse back to any point in time. For example, reversing to a point just before a catastrophic error occurred, so we can watch carefully as it runs forward from that point. And repeat it if we want to, again and again, any number of times. Imagine installing an operating system you know nothing about, starting an application… and then running the process in reverse as it unboots, scrolling up the screen until it switches off. This is true reversibility from the point of view of a systems or application developer, basically you have a slider bar for time. I call it “apparent reversibility” because the way it is done is a record-replay trick, but still, its amazing.
Unreliable software is increasing, and it affects whole societies. A large part of the problem is due to massive complexity in software, and I have seen reversibility reduce this by making debugging much easier to do.
In 2026:
- Full execution reversibility of simulated systems at high speed is possible - including even running and operating system backwards, even unbooting. This is well-understood computer science.
- The ability to rewind and replay is very powerful for debugging, especially for complex stacks, and rare or non-deterministic bugs.
- Very few developers seem interested in these features! Until recently they appeared to be commercially unviable, despite offering visibility into very complicated problems. And despite some implementations being easy to use.
Evidently, the world did not agree with my enthusiasm for reversibility. Wind River advertises Simics’ reverse execution feature so little I thought it had been dropped, but it is mentioned in training course material. VMware Player dropped their reversibility in 2011. Jakob Engblom’s Comprehensive Reversibility List is maintained by my former Simics colleague, and it has very few entries since the dawn of commercial source code debugging.
But why? The wealthy toolmaking companies of the world know reversibility of arbitary electronics devices can be can be done at speed and scale, down to microcode resolution where necessary.
Outlook in 2026 for apparent reversibility
Maybe the world is changing. In the same way that Privacy succeeded in getting attention where Security had failed to make the pitch to decisionmakers, perhaps now arguments based on CyberSecurity or even more likely AI will succeed where the argument about Complexity just isn’t working.
Some open source solutions exist:
- Eclipse has support for driving reversible targets, including full-system targets via the GDB MI interface
- There are several reversible user mode targets, notably rr
- DMTCP is a multi-thread user mode trace/replay solution
- GDB does not need to be driven: it has a well-tested implementation of Record/Replay and Reversible Debugging. GDB can drive a reversible target itself.
Robert O’Callahan is an eloquent campaigner for better debugging, one of the authors of Pernosco, a commercial tool that uses rr traces. Robert says:
In the past, a lot of people simply did not believe that these tools could possibly do what we say they do. That is becoming less of a problem.
and I really hope that’s true.
Besides these, closed-source WinDbg Preview (available through Visual Studio) has a feature called Time Travel, Simulics is a commercial emulator, and LiveRecorder is a user-space record/replay solution. Perhaps one of these will spark a revolution. If you’re a student, try them out!
If I was starting to build practical reversibility for production use today, I would probably start prototyping with the QEMU Replay System. This is accurate but a bit clunky and slow, but rapidly allows different techniques to be tried.
The annual Conference on Reversible Computation demonstrates a much more general view. This conference does include practical reversible computing as I describe above, but also explores the mathematics of reversibility including in the context of quantum computing. I can’t even begin to guess how quantum reversibility works at high resolution but seemingly it is regarded as feasible.
Logical and thermodynamic reversibility
There is also such a thing as reversibility that works in the physical world, regarded as important to AI, and its big news.
My experiences of reversibility were all driven by correctness in software and it didn’t matter that under the bonnet nothing truly executes backwards. Now energy matters above all because AI has made it a first-order problem to solve. Development of reversibile hardware to achieve thermodynamic reversibility is a well-funded goal.
This starts with Landauer’s 1961 principle that energy is not consumed by computation but by the erasure of information. Erasure forces a two-state system into one state which increases entropy, which exits as heat. Bennett’s 1973 extension showed that any computation can be restructured to erase nothing, so that the inputs are recoverable from outputs at every step, something he called logical reversibility, and which carries no Landauer penalty. From this we can see thermodynamic reversibility is the physical consequence of logical reversibility: when no information is erased, no entropy is generated, and the energy used to perform each computational step can be recovered and reused rather than lost as heat. And if you run an AI datacentre that is what you need.
The dependency runs one way only: thermodynamic reversibility requires logical reversibility, because an erased bit commits an irrecoverable entropy debt before the hardware gets any say.
My old friend apparent reversibility doesn’t even get to play here. It works in almost the opposite direction thermodynamically, because record-and-replay reversibility functions by doing a lot of extra logging so that the system can be wound back. Logging involves writing information to memory, and in the case of overwriting that means destroying information, which costs energy according to Landauer. The original forward computation still destroys information in all the usual ways, and the reply is just more of that again. I’m still a fan and there is research applying it to large language models, but apparent reversibility is a different category altogether.
Logical reversibility
Janus is a reversible language developed in 1982 and formally specified in 2007. Janus makes it impossible to write a program that discards information, and provides a program inverter that runs any Janus program cleanly backwards without a history tape. The harder problem is extending this to concurrent programs, where interleaving makes reversal non-trivial.
A 2022 mathematical paper on Reversing an Imperative Concurrent Programming Language from the University of Leicester demonstrates this diffficult problem is solvable. The paper Reversible Execution for Robustness in Embodied AI and Industrial Robots (one author in common with the previous paper) says:
We thus demonstrate how a traditional AI-based planning approach is enriched by an underlying reversible execution model that relies on the embodiment of the robot system
From my original point of view of correctness, the risks of AI are regarded as difficult to estimate, but logical reversibility may be a way to help address this. It doesn’t come with a slider bar for time, but the fundamental is there for really quite new approaches.
What may be even more significant though is that such logical reversibility meets the precondition for thermodynamic reversibility.
Thermodynamic reversibility
Vaire Computing in London are building practical reversible hardware which preseves the energy gains that logical reversibility permits to be reclaimed, described in their 2025 hardware paper But the underlying principle is identical: stop discarding information, and you stop paying the penalty for doing so. The fact that Reversibile Computing 2026 conference in Torino has Vaire as its first commercial sponsor suggests the academic and engineering communities are perhaps meeting in the middle.