Ensure stability at scale
If you melt down the US economy, it’s a problem.
So is a series of unfortunate crashes affecting your Quant, Derivatives or Algo-Trading system’s stability. And so are flaky tests (aka intermittent failures) which either remain unresolved or waste days of engineering resources.
With Undo, you can spend less time on keeping your codebase robust and secure, leaving more time for developing and improving the algorithms that will set you apart.
SHIP WITH FEWER BUGS AND BOOST DEVELOPER PRODUCTIVITY
Enable your engineers to examine the full state of the program at any point in time during its execution – across sub-systems and threads.
- RECORD a process and capture everything the code did during a failing run in a single file containing the whole execution history – every line in every thread, every variable, every I/O – giving the team an instant reproducer so they can start debugging straight away without wasting time trying to reproduce the issue.
- REPLAY the recording back and forth, step back to any point in the execution history to see what happened.
- RESOLVE by tracing from the error back to the root cause in a single debug cycle (without having to restart the debug session or recompile). No known bug remains unsolved.
This workflow significantly reduces the time the team spends debugging.
Race conditions in multithreaded code are particularly difficult and time-consuming to identify.
So Undo comes with a capability called thread fuzzing. It’s a way of manipulating the way that threads are scheduled, making concurrency bugs statistically more common. Engineers can shake the CPU scheduler and see what falls out.
Thread fuzzing is typically enabled in existing unit tests or continuous integration tests to shake the codebase and expose hidden race conditions. Because the failures are recorded, they become a lot easier (and faster) to fix.
Thread fuzzing is used by engineering teams who need to ensure their codebase is stable and issues are caught early before they go anywhere near deployment.