Web Application Record-Replay Module for Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Troubleshooting and debugging web applications with embedded runtime environments, such as Java and Flash, is challenging due to complex interactions with remote servers, making it difficult to replicate and resolve bugs, as log files generated may not provide sufficient information about reported issues.

Innovation Solution

A record-replay module or library component intercepts events within the runtime environment, records sessions into log files, and replays them to reproduce bugs by simulating user, server, and system inputs, allowing for detailed analysis and potential solutions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If log statements are inserted into source code to record runtime state, then debugging information is captured, but the sufficiency and accuracy of bug reproduction depends heavily on log placement and detail level

Engineering Contradiction:
Improvedebugging information completenessVSAvoidlog statement insertion complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent introduces a record-replay module as an intermediary component that sits between the runtime environment and the web application. This module automatically intercepts and records all input events (user inputs, server responses, system events) without requiring developers to manually insert log statements throughout the codebase. The intermediary handles the complexity of comprehensive event capture centrally, providing complete debugging information while eliminating the scattered complexity of manual logging.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If manual logging is used to track web application state, then some bug information is captured, but replicating bugs is difficult due to dependencies on remote servers and runtime environment complexities

Engineering Contradiction:
Improvebug reproduction reliabilityVSAvoidbug replication ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent creates a complete copy of the original execution session by recording all input events, server responses, and system events into a log file. During replay, these recorded events are re-injected into the runtime environment to reproduce the exact same execution path and bug conditions. This copying approach ensures reliable bug reproduction without requiring the original complex environment dependencies to be perfectly recreated.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs preliminary recording of all execution events during the original session before attempting to reproduce the bug. By capturing the complete sequence of events, server responses, and system states in advance, the replay process can reliably reproduce bugs without needing to re-establish complex runtime dependencies or manually recreate the original execution conditions.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If comprehensive logging is implemented to capture all runtime events, then bug analysis accuracy improves, but the overhead of recording and processing all events increases

Engineering Contradiction:
Improvebug analysis precisionVSAvoidprocessing overhead
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The record-replay module extracts only the essential input events, server responses, and system events that are necessary for bug reproduction, rather than recording every single internal state change or minor operation. This selective extraction maintains high bug analysis precision by capturing the critical execution path while reducing processing overhead by excluding redundant information.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8433733B2Web application record-replay system and method
Publication Date: 2013.04.30 OMNISSA LLC
  • US8433733B2 patent drawing
  • US8433733B2 patent drawing
  • US8433733B2 patent drawing

AI summary

A web application includes a record-replay library component to record sessions into a log file and subsequently replay the recorded session based upon the log file. The record-replay library interacts with the runtime environment of the web application to intercept events that correspond to data inputs received by the web application, such as user inputs, remote server inputs and inputs from the computer system on which the runtime environment is executing. On replay, the log file is read by the record-replay library and events are programmatically dispatched to the runtime environment by the record-replay library based on the log entries in order to simulate the various data input events that occurred during the recorded session.