The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Aug. 05, 2025

Filed:

Dec. 15, 2022
Applicant:

Microsoft Technology Licensing, Llc, Redmond, WA (US);

Inventors:

Sangho Lee, Bellevue, WA (US);

Adil Ahmad, West Lafayette, IN (US);

Assignee:
Attorney:
Primary Examiner:
Int. Cl.
CPC ...
G06F 9/52 (2006.01); G06F 9/54 (2006.01); G06F 11/362 (2025.01); G06F 12/084 (2016.01); G06F 12/10 (2016.01);
U.S. Cl.
CPC ...
G06F 9/526 (2013.01); G06F 9/544 (2013.01); G06F 11/3624 (2013.01); G06F 11/3632 (2013.01); G06F 12/084 (2013.01); G06F 11/3636 (2013.01); G06F 12/10 (2013.01); G06F 2212/657 (2013.01);
Abstract

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. Threads may 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.


Find Patent Forward Citations

Loading…