Live Recorder

Record and replay the execution of your software

Debugging intermittent failures - whether in development, test or in production - takes time. It slows down development projects and frustrates customers... What if you could record your program's execution as it fails and replay the recording offline any time anywhere?

Capture software failures ‘in the act’
Replay the recording and get instant visibility into what your program did and why
Debug the recording instead of the live program

Technology Hero Illustration
Record

Record Linux programming errors

Live Recorder captures all non-deterministic data (down to instruction level) and recreates your application’s entire memory and the register state - on demand and with minimal overhead.

Engineers can then rewind and replay the recording file to analyze execution history. Using Live Recorder's integrated reversible debugger (UndoDB), engineers can step backwards as well as forwards in the code to find the root cause of the problem.

Live Recorder's core recording technology is language independent and compatible with most mainstream Linux distributions.

Replay

Reverse debugging

Use our interactive reversible debugger UndoDB to replay your recordings and discover what your software really did.

Based on GDB, UndoDB supports source-level debugging for applications written in any language supported by GDB, including C/C++, Rust and Ada.

UndoDB delivers the full power of a modern debugger with variable and memory inspection, scripting, conditional breakpoints and watchpoints, all available in forwards and reverse directions.

What's new

NEW release: Live Recorder 5.0

Live Recorder 5.0 is a breakthrough in software flight recorder technology. It is the first solution that solve the costly problem of reproducing and debugging non-deterministic defects in multi-process systems. Enhancements include:

Multi-Process Correlation for Shared Memory

Shared memory corruption in a multi-process system can seem impossible to debug. This feature simplifies debugging by recording the exact order in which processes altered shared memory variables. You can even zero-in on specific variables and skip backwards to the last line of code - in any process - to have altered the variable.

Microservices support

Live Recorder 5.0 can record and replay the execution of individual Kubernetes and Docker containers to help resolve defects faster in microservices environments.

Thread Fuzzing

Non-determinism makes race conditions and other multi-threading issues hard to predict. When integrated into your test pipeline, Live Recorder 5.0 thread fuzzing exposes potential defects by randomizing thread execution to help reveal more race conditions, crashes, and other multi-threading defects.

Key features

Live Recorder features

Undo Live Recorder makes it possible to find and fix more defects faster, especially non-deterministic bugs, which rise in frequency as systems become more complex.

Live Recorder records non-deterministic data and recomputes deterministic data on-the-fly. Record, replay, and debug defects just as they happened during the original run – without needing to know in advance what you will want to look at.

High-Performance Record and Replay
Capture and reproduce some or all of a running program even at remote sites. Without specialized technology, recording large applications would be slow and unusable. Undo aims for a slowdown factor better than 5x in most applications.
Reversible Debugger
Play recordings forwards and backwards to analyze internal state. Breakpoints, bookmarks, notifications make it easy.
Multi-Process Correlation
Reveals the order in which processes and threads alter data structures in shared memory.
Thread Fuzzing
Randomizes thread execution to reveal race conditions and other multi-threading defects.
Integration & Control
APIs, CLI, front-end & container platform integrations help you automate and enrich QA & CI processes.
Compiler- and library-agnostic
We don’t require the application to be recompiled or linked against particular libraries.

Accelerate software defect resolution by eliminating the guesswork

Record and replay program execution and quickly diagnose software failures in test or in production

Competitor comparison

Live Recorder vs traditional software reliability solutions

Static and dynamic analysis tools only find defects they were programmed to seek out; they also highlight too many false positives. Meanwhile, manual debugging is mostly based on guesswork and eats away developer-time. Live Recorder is the only solution that gives you data-driven insight into what your software really did before it failed. Live Recorder can capture intermittent, non-deterministic failures which cannot be tracked down in any other way.

Capabilities
Live Recorder
Logging, dumps, printf
Static & dynamic analysis
Reproduce every failure with 100% certainty (including intermittent & non-deterministic)
Collect failure data from customers with minimal disruption
Analyze every possible cause of failure
Remove false positives causes

Explore our solutions

Live Recorder enables software reliability solutions across all phases of the software lifecycle. This product forms the core of our two main solutions.

Trusted by leaders

Cadence Logo
IBM Logo
SAP Logo
Commwalut Logo
Runtime Logo

Speed up time to resolution of software defects by 10x

Request a demo