Multi-Level Java Record Replay for Accurate Malfunction Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing debug solutions for Java applications suffer from high recording overhead and inaccurate replay, making it difficult to reproduce sporadic malfunctions, which decreases production reliability and extends the duration of unrepaired defects.

Innovation Solution

A multilevel record and replay approach that records nondeterministic execution, arguments, and side effects at various architectural levels, using Java APIs and JVM tool interface agents to minimize overhead and enhance accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If recording is performed at the system call level to capture all sources of nondeterminism, then replay accuracy is improved, but recording overhead in time and space increases significantly

Engineering Contradiction:
Improvereplay accuracyVSAvoidrecording overhead
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the recording process into two distinct levels: high-level API calls (e.g., file I/O, network operations) and low-level system calls. The instrumentation captures nondeterministic behavior at the high-level API boundary, avoiding the need to record every individual system call while maintaining replay accuracy. This segmentation reduces recording overhead by filtering out redundant low-level details.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and records only the essential nondeterministic elements (API calls, inputs, outputs, exceptions) at the high-level boundary, separating them from the detailed system call execution. This extraction approach captures the critical information needed for accurate replay while discarding excessive low-level details that contribute to high recording overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

2Measurement precision

If recording is performed at the system call level to capture all sources of nondeterminism, then replay accuracy is improved, but space consumption increases significantly

Engineering Contradiction:
Improvereplay accuracyVSAvoidspace consumption
Core Design Contradiction:
Measurement precisionVSLoss of substance

Solution Approach 1:

The patent segments the information captured into high-level API semantics rather than low-level system call details. By recording at the API boundary, the system captures only the essential nondeterministic elements (API names, parameters, returns, exceptions) without storing redundant system call sequences, thereby reducing space consumption while maintaining replay accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the critical nondeterministic information at the high-level API boundary, separating essential replay data from excessive system call details. This extraction reduces the volume of recorded data stored in the log, decreasing space consumption while preserving the accuracy needed for malfunction reproduction.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If manual configuration is used to inject malfunctions for debugging, then debugging precision can be achieved, but developer time and productivity decrease

Engineering Contradiction:
Improvedebugging precisionVSAvoiddeveloper time
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements self-service debugging through automated record and replay functionality. The system automatically records nondeterministic execution paths during normal operation and replays them to reproduce malfunctions without requiring manual intervention. This eliminates the need for developers to manually configure and inject test cases, significantly improving productivity while maintaining debugging precision through accurate replay of recorded execution states.

Inventive Principle:
Principle #25Self-service

4Extent of automation

If existing record and replay solutions are used, then automation of debugging is improved, but replay accuracy deteriorates due to incomplete reproduction of malfunctions

Engineering Contradiction:
Improvedebugging automationVSAvoidreplay accuracy
Core Design Contradiction:
Extent of automationVSMeasurement precision

Solution Approach 1:

The patent replaces the conventional system call-level recording mechanism with a high-level API boundary recording approach. This substitution captures nondeterministic behavior at the semantically meaningful API level rather than at the low-level system call boundary, improving replay accuracy by preserving the essential program logic and nondeterministic elements that matter for malfunction reproduction while maintaining full automation.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS20250252034A1Multi-level record and replay of JAVA applications
Publication Date: 2025.08.07 ORACLE INT CORP
  • US20250252034A1 patent drawing
  • US20250252034A1 patent drawing
  • US20250252034A1 patent drawing

AI summary

Here is accelerated debug of more accurate replay of recorded Java execution. Nondeterministic execution, arguments, results, and side effects of subroutines are recorded by instrumentation at various architectural levels for increased accuracy of instrumented replay. In an embodiment, a computer configures for nondeterminism recording all of: a recorded subroutine, a native subroutine that is not a Java method, and a Java method that invokes the native subroutine. The native subroutine is invoked by invoking the Java method. For the native subroutine, instrumentation detects that the Java method already has activated nondeterminism recording. After the Java method finishes, the recorded subroutine is invoked. For the recorded subroutine, instrumentation detects that nondeterminism recording is inactive and should be activated.