State synchronization in recording and replaying computer programs
First Claim
1. A computer-implemented method, comprising:
- during a replay execution of an application program in a computer system,receiving a memory allocation request from the application program;
requesting the computer system to allocate memory;
intercepting an operation of the application program to write the allocated memory;
storing a copy of at least a portion of the allocated memory;
permitting one or more operations to write the allocated memory, resulting in written memory;
comparing the written memory to the stored copy; and
in response to determining that changes made to the allocated memory during the replay execution are different than previously recorded changes captured and stored during a recorded execution of the application program, generating a notification that a memory state synchronization exception occurred;
wherein the recorded execution and the replay execution are separate executions of the application program.
4 Assignments
0 Petitions
Accused Products
Abstract
Recording and replaying computer programs includes state synchronization and thread management techniques that facilitate accurately replaying the recorded execution of a multithreaded application program. State synchronization comprises, during execution of an application program in a computer system, detecting an operation of the application program to write a memory; preventing the operation to write the memory; storing a representation of the memory; permitting the operation to write the memory, resulting in written memory; comparing the written memory to the stored representation; and in response to determining that the written memory is different than the stored representation, generating a notification that a memory state synchronization exception occurred.
139 Citations
27 Claims
-
1. A computer-implemented method, comprising:
during a replay execution of an application program in a computer system, receiving a memory allocation request from the application program; requesting the computer system to allocate memory; intercepting an operation of the application program to write the allocated memory; storing a copy of at least a portion of the allocated memory; permitting one or more operations to write the allocated memory, resulting in written memory; comparing the written memory to the stored copy; and in response to determining that changes made to the allocated memory during the replay execution are different than previously recorded changes captured and stored during a recorded execution of the application program, generating a notification that a memory state synchronization exception occurred; wherein the recorded execution and the replay execution are separate executions of the application program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
14. A computer-implemented method, comprising:
-
during a replay execution of an application program in a computer system, detecting an operation of the application program to write a memory; preventing the operation to write the memory; storing a copy of at least a portion of the memory; permitting one or more operations to write the memory, resulting in written memory; comparing the written memory to the stored copy; and in response to determining that changes made to the memory during the replay execution are different than previously recorded changes captured and stored during a recorded execution of the application program, generating a notification that a memory state synchronization exception occurred; wherein the recorded execution and the replay execution are separate executions of the application program.
-
-
15. A non-transitory computer-readable medium carrying computer program instructions which when executed by one or more processors cause the one or more processors to carry out the steps of:
during a replay execution of an application program in a computer system, receiving a memory allocation request from the application program; requesting the computer system to allocate memory; intercepting an operation of the application program to write an allocated memory; storing a copy of at least a portion of the allocated memory; permitting one or more operations to write the allocated memory, resulting in written memory; comparing the written memory to the stored copy; and in response to determining that changes made to the allocated memory during the replay execution are different than previously recorded changes captured and stored during a recorded execution of the application program, generating a notification that a memory state synchronization exception occurred; wherein the recorded execution and the replay execution are separate executions of the application program. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
Specification