Data race detection with per-thread memory protection
AssigneeMicrosoft Technology Licensing, LLC
InventorsSangho Lee, Adil Ahmad
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Technology Licensing, LLC
InventorsSangho Lee, Adil Ahmad
Estimating the term…
Data race detection in multi-threaded programs can be achieved by leveraging per-thread memory protection technology in conjunction with a custom dynamic memory allocator to protect shared memory objects with unique memory protection keys, allowing data races to be turned into inter-thread memory access violations. In various embodiments, threads acquire or release the keys used for accessing protected memory objects at the entry and exit points of critical sections within the program. An attempt by a thread to access a protected memory object within a critical section without the associated key triggers a protection fault, which may be indicative of a data race.
A non-transitory machine-readable medium storing instructions for execution by a computer processor, the instructions causing the processor to perform operations for detecting data races in a multi-threaded program comprising one or more critical sections and a plurality of shared memory objects, the operations comprising:
A system for detecting data races in a multi-threaded program comprising one or more critical sections and a plurality of shared memory objects, the system comprising:
A method for data race detection during execution of a multi-threaded program, the method comprising:
Dependencies are inferred from the claim text.