We are very excited to announce the availability of LiveRecorder 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.
LiveRecorder 5.0 solves the problem
LiveRecorder 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.
LiveRecorder 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.
LiveRecorder’s record & replay and time-travel debugging capabilities have been enhanced with:
Multi-process correlation (MPC) of shared memory
LiveRecorder 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.
Thread Fuzzing allows LiveRecorder 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.
LiveRecorder 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 LiveRecorder 5.0
If you'd like to see LiveRecorder 5.0 features explained, contact us.
Download the report
Research report: the challenges, impact and solutions to troubleshooting software failures in production
Catch intermittent bugs in the act
WEBINAR: Can't reproduce a non-deterministic intermittent bug? Watch this webinar recording to see how to obtain a 100% reproducible test case and debug faster.