Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A method for replaying arguments of a module in real-time, comprising: locating and loading input into system memory, the input comprising, tags indicating an original execution environment, mapping tables corresponding to the original execution environment, a plurality of callback modules, and recorded data; beginning a batch execution of an application, and in response to intercepting an environmental call issued by the application; for each environmental call in the transaction: identifying the transaction by transaction id, type of call and arguments to the call; loading the recorded data that corresponds to the transaction id into system memory; populating the arguments to the call with data from the corresponding record in the recorded data; and reporting the populated arguments to the call; and generating one or more callback modules; identifying the original execution environment; reading tags in the input parameter file to determine an environment and format of the recorded data; parsing the recorded data for each transaction id to determine a transaction type; matching the transaction type to a layout in the mapping table; and writing the layout to a file, accompanied by programmatic formalities such that the skeleton can be compiled by a programming language.
2. The method of claim 1 , further comprising: based on there being a corresponding callback module defined for the transaction, invoking the callback module with the populated arguments to the call; executing logic in the callback module to modify or augment the populated arguments to the call with data included or calculated in the callback module; and reporting the argument data resulting from the executing of the callback module.
3. The method of claim 1 , further comprising: identifying the transaction by transaction id, and type of call; loading the mapping table corresponding to the original execution environment; locating the call type from the environmental call in the mapping table; matching a layout of the call type in the mapping table to the recorded data; and populating the arguments to the call with the matched data.
4. The method of claim 1 , wherein the replayer has read-write access to the system memory where the application load modules and the callback modules are loaded.
5. The method of claim 1 , wherein the execution of the replayer is self-contained.
A system and method for executing a replayer in a self-contained manner to analyze and reproduce software behavior. The technology addresses the challenge of efficiently debugging and testing software by capturing and replaying execution traces in an isolated environment. The replayer operates independently, requiring no external dependencies or additional infrastructure, ensuring consistent and reliable reproduction of software behavior across different systems. This self-contained execution allows for accurate debugging, performance analysis, and regression testing without external interference. The system captures execution traces, including system calls, function calls, and memory states, and replays them in a controlled environment to identify errors, performance bottlenecks, or unexpected behavior. The replayer can be deployed in various software development and testing scenarios, including debugging complex applications, validating software updates, and ensuring compatibility across different environments. By operating in a self-contained manner, the system eliminates variability introduced by external factors, providing a reliable and repeatable method for software analysis.
6. The method of claim 1 , further comprising invoking the callback module that includes modified arguments and data for the intercepted environmental call.
7. A computer program product for replaying arguments of a module in real-time, comprising a computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code when executed on a computer cause the computer to: locate and load input into system memory, the input comprising, tags indicating an original execution environment, mapping tables corresponding to the original execution environment, a plurality of callback modules, and recorded data; begin a batch execution of an application, and in response to intercepting an environmental call issued by the application; for each environmental call in the transaction: identify the transaction by transaction id, type of call and arguments to the call; load the recorded data that corresponds to the transaction id into system memory; populate the arguments to the call with data from the corresponding record in the recorded data; and report the populated arguments to the call; and generate one or more callback modules; identify the original execution environment; read tags in the input parameter file to determine an environment and format of the recorded data; parse the recorded data for each transaction id to determine a transaction type; match the transaction type to a layout in the mapping table; and write the layout to a file, accompanied by programmatic formalities such that the skeleton can be compiled by a programming language.
8. The computer program product of claim 7 , further comprising: based on there being a corresponding callback module defined for the transaction, invoke the callback module with the populated arguments to the call; execute logic in the callback module to modify or augment the populated arguments to the call with data included or calculated in the callback module; and report the argument data resulting from the executing of the callback module.
9. The computer program product of claim 7 , further comprising: identify the transaction by transaction id, and type of call; load the mapping table corresponding to the original execution environment; locate the call type from the environmental call in the mapping table; match a layout of the call type in the mapping table to the recorded data; and populate the arguments to the call with the matched data.
10. The computer program product of claim 7 , wherein the replayer has read-write access to the system memory where the application load modules and the callback modules are loaded.
11. The computer program product of claim 7 , wherein the execution of the replayer is self-contained.
12. The computer program product of claim 7 , further comprising invoking the callback module that includes modified arguments and data for the intercepted environmental call.
13. The computer program product of claim 7 , further comprising invoking the callback module that includes modified arguments and data for the intercepted environmental call.
A system and method for modifying intercepted environmental calls in a computing environment. The technology addresses the challenge of dynamically altering system calls or API calls made by software applications to interact with their environment, such as operating system functions or external services. This is useful for debugging, security monitoring, or compatibility adjustments. The invention involves a callback module that intercepts environmental calls made by an application. The callback module processes these calls by modifying their arguments and data before forwarding them to their intended destination. This allows for real-time adjustments to the call parameters, enabling behaviors such as logging, filtering, or transforming the call data. The modified arguments and data are then passed to the callback module, which executes the altered call in the system. The system ensures that the intercepted calls are handled seamlessly, maintaining the application's expected functionality while introducing controlled modifications. This approach is particularly valuable in scenarios where applications need to interact with legacy systems, require enhanced security checks, or must comply with specific operational constraints. The invention provides flexibility in managing environmental calls without requiring changes to the original application code.
14. A computer system for replaying arguments of a module in real-time, the system comprising: one or more processors; a memory coupled to at least one of the processors; a set of computer program instructions stored in the memory and executed by at least one of the processors in order to perform actions of: locating and loading input into system memory, the input comprising, tags indicating an original execution environment, mapping tables corresponding to the original execution environment, a plurality of callback modules, and recorded data; beginning a batch execution of an application, and in response to intercepting an environmental call issued by the application; for each environmental call in the transaction: identifying the transaction by transaction id, type of call and arguments to the call; loading the recorded data that corresponds to the transaction id into system memory; populating the arguments to the call with data from the corresponding record in the recorded data; and reporting the populated arguments to the call; and generating one or more callback modules, wherein the generating comprises: identifying the original execution environment; reading tags in the input parameter file to determine an environment and format of the recorded data; parsing the recorded data for each transaction id to determine a transaction type; matching the transaction type to a layout in an in-memory mapping table; and writing the layout to a file, accompanied by programmatic formalities such that the skeleton can be compiled by a programming language.
15. The computer system of claim 14 , further comprising: based on there being a corresponding callback module defined for the transaction, invoking the callback module with the populated arguments to the call; executing logic in the callback module to modify or augment the populated arguments to the call with data included or calculated in the callback module; and reporting the argument data resulting from the executing of the callback module.
16. The computer system of claim 14 , further comprising: identifying the transaction by transaction id, and type of call; loading the mapping table corresponding to the original execution environment; locating the call type from the environmental call in the mapping table; matching a layout of the call type in the mapping table to the recorded data; and populating the arguments to the call with the matched data.
17. The computer system of claim 14 , wherein a replayer has read-write access to the system memory where the application load modules and the callback modules are loaded; the execution of the replayer is self-contained; and the replayer executes the replaying without modifying or relinking the plurality of target modules, and without debugging or tracing tools.
Unknown
February 23, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.