Resources

What’s New in Live Recorder 5.0

thread fuzzing diagram

We are very excited to announce the availability of Live Recorder 5.0!

Our objective for this release was to help developers deal with the increasing complexity of software architectures, and the increased occurrence of non-deterministic defects in those systems. 

Specifically, we’ve added new defect diagnostics tools for systems that feature multiple processes, multi-threading, and microservices. 

New causes of non-deterministic defects

Here’s the problem many developers face...factors outside of the developer’s control such as network latency variations and thread scheduler (operating system) differences can cause components to interact in unforeseen ways. This can result in non-deterministic defects that are costly to debug.

When non-deterministic defects occur in multi-process systems, it can wreak havoc on development schedules and customer satisfaction. If a defect can be reproduced at all, diagnosing the cause can be painstaking. Each of the involved software processes are studied individually - their code and the logs they generate - and then log output is correlated to try to understand the exact sequence of interactions between them. 

Live Recorder 5.0 solves the problem

Live Recorder 5.0 is a breakthrough in software flight recording technology. It solves the costly problem of reproducing and debugging non-deterministic defects in multi-process systems. This enables developers to greatly improve quality for their customers and keep new development on schedule. 

Live Recorder 5.0 provides complete insight to what’s going on within each process, line by line of code - memory, threads, program flow, service calls, and the rest. 

Live Recorder’s record & replay and time-travel debugging capabilities have been enhanced with:

Multi-process correlation (MPC) of shared memory 

Live Recorder can record accesses to shared memory from multiple processes to a single shared memory log file. This can be later used to track which process modified a region of shared memory, and in what sequence. 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. 

View the MPC docs

Thread fuzzing 

Thread Fuzzing allows Live Recorder to interfere with the regular scheduling of threads, in order to expose concurrency bugs more easily. As Thread Fuzzing changes the scheduling of threads, some concurrency bugs which are very rare in normal conditions become statistically more common. 

View the Thread Fuzzing docs

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.

Learn more about Live Recorder 5.0

If you'd like to see Live Recorder 5.0 features explained, contact us.