Debugging in the Multiverse
Antithesis has launched a debugging tool that simulates a deterministic universe, allowing engineers to rewind time, capture system states, and explore past events to identify bug causes efficiently.
Read original articleAntithesis has introduced a new debugging tool that simulates a deterministic universe, allowing software engineers to effectively rewind time to investigate bugs and outages. This innovative approach enables users to capture the state of their systems just before a crash, facilitating the debugging process by allowing them to attach debuggers, capture network traffic, and analyze performance issues without the need to reproduce the original conditions. The tool also supports "multiverse debugging," where users can explore variations of past events to identify the root causes of bugs. This capability is enhanced by a browser-based reactive notebook interface that allows for immediate interaction with the simulated environment. Antithesis is rolling out this feature to existing customers, aiming to streamline the debugging process and reduce the costs associated with extensive logging and telemetry.
- Antithesis offers a time machine-like debugging tool for software engineers.
- The tool allows users to rewind time to investigate bugs and outages.
- It supports capturing system states, network traffic, and performance profiling.
- The "multiverse debugging" feature enables exploration of variations in past events.
- A reactive notebook interface enhances user interaction with the debugging process.
Related
rr – record and replay debugger for C/C++
RR is a C/C++ debugging tool for Linux, enhancing gdb by enabling deterministic recording and replay of failures, supporting various applications like Firefox, with low overhead and a chaos mode.
Replay.io is discontinuing Replay Test Suites
Replay.io is discontinuing its Replay Test Suites to focus on replayability and AI. The company will reduce its workforce but continue to develop Replay DevTools, enhancing features for React applications.
UndoDB Travel Debugging for C/C++
UDB is a time travel debugger for C/C++ on Linux, enabling live process debugging and execution replay. It aids in resolving complex bugs and integrates with popular IDEs, enhancing productivity.
Features I'd like to see in future IDEs
Proposed improvements for IDEs include queryable expressions for debugging, coloration of comments, embedding images, a personal code vault for snippets, and commit masks to prevent accidental code commits.
Launch HN: Parity (YC S24) – AI for on-call engineers working with Kubernetes
Parity is an AI-powered tool for on-call engineers managing Kubernetes, automating root cause analysis and runbook execution. It is free during launch, encouraging user feedback for improvements.
- Interest in technical comparisons with existing tools, such as King et al.'s time-traveling VMs and Qemu.
- Questions about the tool's applicability in various programming environments, including node.js and its integration with build tools.
- Curiosity about open-source alternatives and similar technologies like Qira and UndoDB.
- Concerns regarding handling side effects and interactions with third-party systems during debugging.
- Discussion on the challenges of deterministic debugging, particularly regarding non-bijective software states.
The closest I've seen is Qemu record/replay, but that's very slow (no KVM acceleration, no multicore), and broken in current Qemu versions (replayed system just gets stuck).
Perhaps the language is too small a vantage point to really get into what’s happening when debugging.
I don't really see a fit for the automated testing product in our stack at the moment, but I would love to use a time traveling hypervisor that I can hop into whenever I'd like.
Currently, it seems your pricing is pretty focused on the automated testing service. Do you have pricing or plans that offer just the deterministic dev environment?
[0]: https://www.usenix.org/conference/enigma2016/conference-prog...
[1]: https://qira.me/
If this is prod, your job is going to be finding what combination of these things caused it this time.
How does this tooling deal with that?
Related
rr – record and replay debugger for C/C++
RR is a C/C++ debugging tool for Linux, enhancing gdb by enabling deterministic recording and replay of failures, supporting various applications like Firefox, with low overhead and a chaos mode.
Replay.io is discontinuing Replay Test Suites
Replay.io is discontinuing its Replay Test Suites to focus on replayability and AI. The company will reduce its workforce but continue to develop Replay DevTools, enhancing features for React applications.
UndoDB Travel Debugging for C/C++
UDB is a time travel debugger for C/C++ on Linux, enabling live process debugging and execution replay. It aids in resolving complex bugs and integrates with popular IDEs, enhancing productivity.
Features I'd like to see in future IDEs
Proposed improvements for IDEs include queryable expressions for debugging, coloration of comments, embedding images, a personal code vault for snippets, and commit masks to prevent accidental code commits.
Launch HN: Parity (YC S24) – AI for on-call engineers working with Kubernetes
Parity is an AI-powered tool for on-call engineers managing Kubernetes, automating root cause analysis and runbook execution. It is free during launch, encouraging user feedback for improvements.