Methods and apparatus to manage concurrent predicate expressions
First Claim
Patent Images
1. A method implemented by one or more processors, comprising:
- populating, with at least one of the processors, a non-compiled auxiliary file with a first predicate expression;
inserting, with at least one of the processors, a first condition hook into a first thread and a second condition hook into a second thread, the first condition hook invoking the first predicate expression during execution of the first thread, and the second condition hook invoking the first predicate expression during execution of the second thread;
when the first predicate expression is not satisfied at a first time, replacing, with at least one of the processors, the first predicate expression in the non-compiled auxiliary file with a second predicate expression; and
invoking, with at least one of the processors, the second predicate expression during execution of the first and the second thread at a second time to identify a predicate order responsible for a thread concurrency error.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, apparatus, systems and articles of manufacture are disclosed to manage concurrent predicate expressions. An example method discloses inserting a first condition hook into a first thread, the first condition hook associated with a first condition, inserting a second condition hook into a second thread, the second condition hook associated with a second condition, preventing the second thread from executing until the first condition is satisfied, and identifying a concurrency violation when the second condition is satisfied.
48 Citations
20 Claims
-
1. A method implemented by one or more processors, comprising:
-
populating, with at least one of the processors, a non-compiled auxiliary file with a first predicate expression; inserting, with at least one of the processors, a first condition hook into a first thread and a second condition hook into a second thread, the first condition hook invoking the first predicate expression during execution of the first thread, and the second condition hook invoking the first predicate expression during execution of the second thread; when the first predicate expression is not satisfied at a first time, replacing, with at least one of the processors, the first predicate expression in the non-compiled auxiliary file with a second predicate expression; and invoking, with at least one of the processors, the second predicate expression during execution of the first and the second thread at a second time to identify a predicate order responsible for a thread concurrency error. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus to identify a predicate order responsible for a thread concurrency error, the apparatus comprising:
-
at least one processor; and memory, the memory to store computer program instructions, the computer program instructions when executed by the at least one processor cause the at least one processor to implement; a concurrent predicate expression (CPE) engine to; populate a non-compiled auxiliary file with a first predicate expression; insert a first condition hook into a first thread and a second condition hook into a second thread, the first condition hook to invoke the first predicate expression during execution of the first thread, and the second condition hook to invoke the first predicate expression during execution of the second thread; when the first predicate expression is not satisfied at a first time, replace the first predicate expression in the non-compiled auxiliary file with a second predicate expression; and a sequence count manager to invoke the second predicate expression during execution of the first and the second thread at a second time to identify a predicate order responsible for a thread concurrency error. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. At least one tangible computer readable storage medium comprising instructions, which when executed, cause at least one machine to at least:
-
populate a non-compiled auxiliary file with a first predicate expression; insert a first condition hook into a first thread and a second condition hook into a second thread, the first condition hook invoking the first predicate expression during execution of the first thread, and the second condition hook invoking the first predicate expression during execution of the second thread; when the first predicate expression is not satisfied at a first time, replace the first predicate expression in the non-compiled auxiliary file with a second predicate expression; and invoke the second predicate expression during execution of the first and the second thread at a second time to identify a predicate order responsible for a thread concurrency error. - View Dependent Claims (17, 18, 19, 20)
-
Specification