Advancing and rewinding a replayed program execution
First Claim
1. A method comprising:
- establishing a data connection from a testing system to a unit under test, the unit under test comprising unit under test memory that comprises dynamically allocated memory and static memory;
receiving, at the testing system, a trigger mechanism from a user for establishing state points of the unit under test during a record phase of execution of an application program;
storing, in a storage system of the testing system, data about a state of the dynamically allocated memory and the static memory for each of a plurality of state points of the unit under test during the record phase, wherein the testing system stores the plurality of state points in response to the trigger mechanism, comprising;
i) detecting a change in a first state of the unit under test memory during the record phase; and
ii) storing, in the storage system of the testing system, as a first state point of the unit under test, information about the change in the first state of the under test memory;
detecting, by the testing system, that a call involving operating system resources is to be executed next by the unit under test during the record phase, wherein the call is an Application Program Interface (API) call from the application program to a specified operation of the operating system;
storing, as a marker state point in the storage system of the testing system, a state of the unit under test memory responsive to detecting the call, wherein the marker state point is in addition to the plurality of state points, including storing the marker state point regardless of the trigger mechanism;
detecting, by the testing system, a write operation to the under test memory during a replay phase of execution of the application program;
determining, by the testing system, whether the storage system comprises data about the write operation of the unit under test memory;
detecting by the testing system, that a replay synchronization error has occurred at a particular point in execution of the application program when the storage system does not comprise data about the write operation to the unit under test memory;
receiving, by the testing system, a request to skip to a first state point of the plurality of state points that would result in skipping the marker state point during the replay phase; and
preventing, by the testing system, skipping the marker state point during the replay phase when responding to the request.
0 Assignments
0 Petitions
Accused Products
Abstract
In an embodiment, a data processing system comprises a storage system coupled to a unit under test comprising a heap memory, a static memory and a stack; second logic operable to perform: detecting one or more changes in a first state of the heap memory and the static memory; storing, in the storage system, as a state point of the unit under test, the one or more changes in the first state of the heap memory and the static memory; third logic operable to perform: receiving a request to change the memory under test to a particular state point; in response to the request, loading the particular state point from the storage system and applying the particular state point to the heap memory and the static memory to result in changing the heap memory and the static memory to a second state that is substantially equivalent to the first state.
-
Citations
14 Claims
-
1. A method comprising:
-
establishing a data connection from a testing system to a unit under test, the unit under test comprising unit under test memory that comprises dynamically allocated memory and static memory; receiving, at the testing system, a trigger mechanism from a user for establishing state points of the unit under test during a record phase of execution of an application program; storing, in a storage system of the testing system, data about a state of the dynamically allocated memory and the static memory for each of a plurality of state points of the unit under test during the record phase, wherein the testing system stores the plurality of state points in response to the trigger mechanism, comprising; i) detecting a change in a first state of the unit under test memory during the record phase; and ii) storing, in the storage system of the testing system, as a first state point of the unit under test, information about the change in the first state of the under test memory; detecting, by the testing system, that a call involving operating system resources is to be executed next by the unit under test during the record phase, wherein the call is an Application Program Interface (API) call from the application program to a specified operation of the operating system; storing, as a marker state point in the storage system of the testing system, a state of the unit under test memory responsive to detecting the call, wherein the marker state point is in addition to the plurality of state points, including storing the marker state point regardless of the trigger mechanism; detecting, by the testing system, a write operation to the under test memory during a replay phase of execution of the application program; determining, by the testing system, whether the storage system comprises data about the write operation of the unit under test memory; detecting by the testing system, that a replay synchronization error has occurred at a particular point in execution of the application program when the storage system does not comprise data about the write operation to the unit under test memory; receiving, by the testing system, a request to skip to a first state point of the plurality of state points that would result in skipping the marker state point during the replay phase; and preventing, by the testing system, skipping the marker state point during the replay phase when responding to the request. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system, comprising:
-
a storage system; and a processor coupled to the storage system, wherein the processor; establishes a data connection to a unit under test comprising unit under test memory that comprises dynamically allocated memory and static memory; receives a trigger mechanism from a user for establishing state points of the unit under test during a recording phase of execution of an application program on the unit under test; stores data in the storage system about a state of the dynamically allocated memory and the static memory for each of a plurality of state points of the unit under test during the recording phase, wherein the processor stores the plurality of state points in response to the trigger mechanism, in which the processor; i) detects a change in a first state of the unit under test memory during the recording phase; and ii) stores, in the storage system, as a first state point of the plurality of state points, information about the change in the first state of the under test memory; detects that a call involving operating system resources of the unit under test is to be executed next by the unit under test during the recording phase, wherein the call is an Application Program Interface (API) call from the application program to a specified operation of the operating system of the unit under test; stores, as a marker state point, a state of the unit under test memory responsive to detecting the call, wherein the marker state point is in addition to the plurality of state points, wherein the processor stores the marker state point regardless of the trigger mechanism; detects a write operation to the under test memory during a replay phase of execution of the application program; determines whether the storage system comprises data about the write operation of the under test memory; and detects that a replay synchronization error has occurred at a particular point in execution of the application program when the storage system does not comprise data about the write operation to the unit under test memory; receives a request to skip to a state point of the plurality of state points that would result in skipping the marker state point during the replay phase; and prevents skipping the marker state point during the replay phase when responding to the request. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable storage device comprising instructions which, when executed by a processor, cause the processor to:
-
establish a data connection to a unit under test comprising unit under test memory that comprises dynamically allocated memory and static memory; receive a trigger mechanism from a user for establishing state points of the unit under test during a recording phase of execution of an application program on the unit under test; stores data about a state of the dynamically allocated memory and the static memory for each of a plurality of state points of the unit under test during the recording phase, wherein the processor stores the plurality of state points in response to the trigger mechanism, in which the processor; i) detects a change in a first state of the unit under test memory during the recording phase; and ii) stores, as a first state point of the plurality of state points, information about the change in the first state of the under test memory; detects that a call involving operating system resources of the unit under test is to be executed next by the unit under test during the recording phase, wherein the call is an Application Program Interface (API) call from the application program to a specified operation of the operating system of the unit under test; stores, as a marker state point, a state of the unit under test memory responsive to detecting the call, wherein the marker state point is in addition to the plurality of state points, wherein the processor stores the marker state point regardless of the trigger mechanism; receives a request to skip to a first state point of the plurality of state points that would result in skipping the marker state point during the replay phase; and prevents skipping the marker state point during the replay phase when responding to the request. - View Dependent Claims (14)
-
Specification