Software Event Replay System Accessing Internal Application State

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing input recording systems for software applications are limited in accessing internal application entities and variables, making them specific to particular user interfaces and requiring extensive setup for testing, and unable to validate internal data structures or handle changes in user interfaces.

Innovation Solution

A system and method that record and replay user interactions by monitoring input signals and associating them with application object code and source code, allowing access to application variables and enabling efficient test setup and validation across different user interfaces.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If input recording systems focus on user interface level input, then they can record and replay user interactions, but they cannot access internal application entities and variables

Engineering Contradiction:
Improveaccess to internal application entitiesVSAvoidrecording system architecture
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer (the recording system that can access both UI and internal state) that mediates between the user interface and internal application entities. This intermediary captures events at the UI level while also accessing internal variables through application programming interfaces, allowing comprehensive recording without requiring direct modification of application code.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The recording system is segmented into multiple components: a UI event capture module that records user interactions, an internal state access module that retrieves application variables and data structures, and a replay module that coordinates both sources. This segmentation allows the system to access internal entities without compromising the integrity of the original application architecture.

Inventive Principle:
Principle #1Segmentation

2Reliability

If test scripts are specific to particular user interface implementation, then they can accurately test current interface, but they must be re-recorded when user interface is modified or new interface is created

Engineering Contradiction:
Improvetest accuracy for current interfaceVSAvoidcompatibility across different user interfaces
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal recording mechanism that captures events in terms of application logic and internal state rather than UI-specific elements. By recording events associated with application variables and data structures that remain constant across different interfaces, the system generates test scripts that are portable and adaptable to multiple user interface implementations including graphical interfaces, touch screens, and voice-operated interfaces.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

Instead of copying UI-specific event sequences that would need re-recording for each interface, the system copies and stores the underlying application state and logic flow. This abstraction layer allows the same test script to be replayed across different interface implementations without modification, as the core application behavior remains unchanged.

Inventive Principle:
Principle #26Copying

3Loss of information

If extensive setup or preliminary user interface manipulation is required to achieve desired pre-test application state, then internal application state can be accessed, but testing efficiency is reduced

Engineering Contradiction:
Improveaccess to application state variablesVSAvoidtesting efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent implements preliminary action by capturing and storing the application state at predefined checkpoints during normal operation. Instead of requiring extensive manual setup before each test, the system has already recorded the necessary state information during application execution, allowing tests to begin immediately with the pre-captured state data readily available.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The recording system provides self-service by automatically capturing and managing application state variables without requiring manual intervention for setup. The system autonomously monitors and records internal state changes, eliminating the need for testers to manually manipulate the interface to achieve desired test conditions, thereby significantly improving testing efficiency.

Inventive Principle:
Principle #25Self-service

4Ease of operation

If application behavior is evaluated based only on information presented via user interface, then user interactions can be tested, but internal data structures cannot be validated

Engineering Contradiction:
Improvesimplicity of testingVSAvoidvalidation of internal data structures
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent merges UI-level event recording with internal state validation into a unified testing approach. The system simultaneously captures user interface events and validates corresponding internal data structures by comparing UI events with the actual application state variables and data structures, providing both operational simplicity and deep validation capability in a single integrated process.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8645912B2System and method for use in replaying software application events
Publication Date: 2014.02.04 GE DIGITAL HLDG LLC
  • US8645912B2 patent drawing
  • US8645912B2 patent drawing
  • US8645912B2 patent drawing

AI summary

A method for use in replaying actions performed by a user of a software application. An input signal indicating an action performed by the user is received from a user input interface. Computer-executable instructions corresponding to the input signal are executed by a processor. An input event associated with the human-readable statements is stored in a memory device. Application object code corresponding to the human-readable statements may later be executed to replay the input event. In addition, an application state representing one or more variables of the software application may be stored.