ENHANCING WEAK CONSISTENCY
1 Assignment
0 Petitions
Accused Products
Abstract
Systems, methods, and computer program products 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
20 Claims
-
1-7. -7. (canceled)
-
8. A computer program product, comprising:
-
computer code, which when executed by a processor, performs an operation to discover errors in an application executed on a computing system, the operation 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 (9, 10, 11, 12, 13, 14)
-
-
15. A system, comprising:
-
one or more computer processors; and a memory containing a program, which when executed by the one or more computer processors, performs an operation to discover errors in an application executed on a computing system, the operation 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 (16, 17, 18, 19, 20)
-
Specification