Replay System for Transactional Database Interaction Testing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for identifying the relationship between application logic and application data in complex computer applications are inadequate, leading to difficulties in detecting coding errors and understanding the effects of data changes, as they require access to both transactional and database execution environments and involve recompiling modules, which is inefficient and error-prone.
Innovation Solution
A computer-implemented method and system for intercepting and replaying interactions with transactional and database environments, allowing for real-time recording and replaying of application interactions without the original execution environment, using tags, mapping tables, and callback modules to populate arguments and report changes, enabling testing of data and logic changes without modifying the application or using debugging tools.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the original execution environment is accessed to identify data and logic relationships, then measurement precision is improved, but device complexity increases and reliability decreases due to dependency on transactional and database execution environments
Solution Approach 1:
The patent creates a replay environment that copies the execution environment state through recorded data, mapping tables, and callback modules. This copy allows identification of data and logic relationships without accessing the original execution environment, thereby maintaining measurement precision while reducing device complexity and improving reliability.
Solution Approach 2:
The patent introduces an intermediary replay environment that mediates between the application and the original execution environment. Through the intermediary, data and logic relationships can be identified by replaying recorded interactions without direct access to the original execution environment, thus resolving the contradiction between measurement precision and device complexity.
2Manufacturing precision
If modules are recompiled to test changes, then manufacturing precision is improved, but loss of time increases and productivity decreases
Solution Approach 1:
The patent performs preliminary recording of execution environment interactions during normal operation. The recorded data, mapping tables, and callback modules are prepared in advance, allowing rapid replay and testing of changes without recompilation. This preliminary action enables accurate testing while significantly reducing the time required compared to recompilation.
Solution Approach 2:
The patent creates a copy of the execution environment state through recording, allowing changes to be tested by replaying the recorded interactions with modified data or logic. This copying approach eliminates the need for recompilation while maintaining testing accuracy, thus resolving the contradiction between manufacturing precision and loss of time.
3Measurement precision
If debugging tools are used to understand application logic, then measurement precision is improved, but device complexity increases and ease of operation decreases
Solution Approach 1:
The patent enables the system to self-replay recorded interactions and automatically identify data and logic relationships without requiring manual intervention from developers. The replay environment automatically executes recorded calls, populates arguments from recorded data, and reports changes, making the system self-sufficient and easy to operate while maintaining high measurement precision.
Solution Approach 2:
The patent creates a self-contained copy of the execution environment with recorded data and mapping tables that automatically replay interactions. This copy operates independently without requiring external debugging tools or manual intervention, thereby improving ease of operation while maintaining measurement precision through automated identification of data and logic relationships.
4Productivity
If real-time recording and replaying is implemented, then productivity is improved, but device complexity increases
Solution Approach 1:
The patent extracts the essential elements of the execution environment into separate components: recorded data, mapping tables, and callback modules. This extraction allows the replay functionality to be implemented as a simplified system that reassembles these extracted elements, thereby improving productivity through real-time recording and replaying while managing device complexity through modular design.
Solution Approach 2:
The patent segments the recording and replaying system into distinct functional components: recording modules that capture interactions, mapping tables that store relationships, and replay modules that execute recorded calls. This segmentation allows each component to be optimized independently, improving overall productivity while keeping the system complexity manageable through clear functional separation.
Data Source
AI summary
Methods, systems and computer program products for replaying arguments of a module in real-time is provided. Input includes indicator of the original execution environment, a location of load libraries having a plurality of callback modules, and a location of previously recorded data. A mapping table that corresponds to the execution environment is loaded into system memory. Batch execution of an application starts. Environmental calls to the application are intercepted. The transaction id and arguments are identified and previously recorded data that corresponds to the transaction id is loaded into system memory. The arguments to the call are populated with data from the corresponding record in the recorded data. Based on there being a corresponding callback module for the transaction, invoking the callback module and augmenting or replacing the arguments to the call with data in the callback module.


