ENHANCING WEAK CONSISTENCY
First Claim
1. A method to discover errors in an application executed on a computing system, comprising:
- executing, by a debugger, a first thread of the application, comprising;
upon determining that a first instruction in the first thread specifies to store a first value at a first memory address;
setting a current value stored in the first memory address as an old value for the first memory address in a container for the first thread;
executing the first instruction to store the first value at the first memory address; and
setting the first value as a new value for the first memory address in the container for the first thread;
executing, by the debugger, a second thread of the application, comprising;
restoring the old value in the container for the first thread to the first memory address; and
restoring a new value for each memory address specified in a container for the second thread to a respective memory address.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods to discover weak consistency errors in an application, by executing, by a debugger, a first thread of the application, by, determining that a first instruction in the first thread specifies to store a first value at a first memory address, setting a current value stored in the first memory address as an old value for the first memory address in a container for the first thread, executing the first instruction to store the first value at the first memory address, and setting the first value as a new value for the first memory address in the container for the first thread. The debugger then executes a second thread of the application, by restoring old values in the containers for all other threads and restoring a new value for each memory address specified in a container for the second thread to its respective memory address.
-
Citations
7 Claims
-
1. A method to discover errors in an application executed on a computing system, comprising:
-
executing, by a debugger, a first thread of the application, comprising; upon determining that a first instruction in the first thread specifies to store a first value at a first memory address; setting a current value stored in the first memory address as an old value for the first memory address in a container for the first thread; executing the first instruction to store the first value at the first memory address; and setting the first value as a new value for the first memory address in the container for the first thread; executing, by the debugger, a second thread of the application, comprising; restoring the old value in the container for the first thread to the first memory address; and restoring a new value for each memory address specified in a container for the second thread to a respective memory address. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
Specification