Exposing and reproducing software race conditions

US11113178B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11113178-B2
Application numberUS-201816236028-A
CountryUS
Kind codeB2
Filing dateDec 28, 2018
Priority dateDec 28, 2018
Publication dateSep 7, 2021
Grant dateSep 7, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Exposing and reproduction of race conditions is presented herein. A method identifies a synchronization mechanism of a grouping of operating system synchronization mechanisms; based on a tunable probability value, adjusts a race window associated with the synchronization mechanism; and based on the race window, raises a likelihood of revealing a race condition.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a processor; and a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations comprising: identifying a synchronization mechanism of a grouping of operating system synchronization mechanisms; based on a tunable probability value, representing a probability of a conflict occurring between a first execution of the synchronization mechanism and a second execution of the synchronization mechanism, and a semaphore used to reduce recursion associated with the synchronization mechanism, increasing a duration of a race window associated with the synchronization mechanism, wherein the race window is increased by a delay period, wherein the race window operates in collaboration with the synchronization mechanism, wherein the tunable probability value further represents a first time duration prior to the first execution of the synchronization mechanism and a second time duration prior to the second execution of the synchronization mechanism, and wherein the first time duration differs from the second time duration; and based on the race window having been increased and the delay period, increasing a likelihood of revealing a race condition. 2. The system of claim 1 , wherein a software in execution comprises the synchronization mechanism. 3. The system of claim 1 , wherein the operations further comprise assigning the tunable probability value to the synchronization mechanism. 4. The system of claim 1 , wherein the synchronization mechanism is an operating system resource allocation lock request. 5. The system of claim 1 , wherein the synchronization mechanism is an operating system lock acquisition request. 6. The system of claim 1 , wherein the synchronization mechanism is a conditional variable event associated with a sleep state. 7. The system of claim 1 , wherein the increasing of the race window comprises adjusting the race window as a function of defining a sleep time period to place use of the synchronization mechanism in a hiatus state. 8. The system of claim 1 , wherein the increasing of the race window comprises adjusting the race window as a function of defining a spin time period within which use of the synchronization mechanism is adjusted. 9. A method comprising: identifying, by a device comprising a processor, a synchronization mechanism of a grouping of operating system synchronization mechanisms; based on a tunable probability value, representative of a probability of a conflict occurring between a first execution of the synchronization mechanism and a second execution of the synchronization mechanism, and use of a bit flag to reduce recursion associated with execution of the synchronization mechanism, increasing, by the device, a duration of a race window associated with the synchronization mechanism, wherein the race window is increased by a delay period, wherein the race window operates in collaboration with the synchronization mechanism, wherein the tunable probability value further represents a time value that differs between the first execution of the synchronization mechanism at a first code point in the recursion and the second execution of the synchronization mechanism at a second code point in the recursion; and based on the race window having been increased and the delay period, increasing, by the device, a likelihood of exposing a race condition. 10. The method of claim 9 , wherein a software in execution comprises the synchronization mechanism. 11. The method of claim 9 , further comprising allocating, by the device, the tunable probability value to the synchronization mechanism. 12. The method of claim 9 , wherein the synchronization mechanism is an operating system resource allocation lock request. 13. The method of claim 9 , wherein the synchronization mechanism is an operating system lock acquisition request. 14. The method of claim 9 , wherein the synchronization mechanism is a conditional variable event associated with a sleep state. 15. The method of claim 9 , wherein the increasing of the race window comprises adjusting the race window as a function of defining a stasis time period to elapse prior to facilitating use of the synchronization mechanism. 16. The method of claim 9 , wherein the increasing of the race window comprises adjusting the race window as a function of defining a lag time period during which use of the synchronization mechanism is operational. 17. A non-transitory machine-readable medium comprising instructions that, in response to execution, cause a system comprising a processor to perform operations comprising: identifying a synchronization mechanism of a grouping of operating system synchronization mechanisms; based on a tunable probability value, representing a probability of a conflict occurring between a first execution of the synchronization mechanism and a second execution of the synchronization mechanism, and a semaphore used to reduce recursion associated with the synchronization mechanism, increasing a duration of a race window associated with the synchronization mechanism, wherein the duration of the race window is increased by a delay period, wherein the race window operates in collaboration with the synchronization mechanism, wherein the tunable probability value further represents a time value that differs between the first execution of the synchronization mechanism at a first code point in the recursion and the second execution of the synchronization mechanism at a second code point in the recursion; and based on the race window having been increased and the delay period, raising a likelihood of revealing a race condition. 18. The non-transitory machine-readable medium of claim 17 , wherein the increasing of the race window comprises adjusting the race window as a function of defining a stasis time period needed to elapse prior to facilitating use of the synchronization mechanism. 19. The non-transitory machine-readable medium of claim 17 , wherein the increasing of the race window comprises adjusting the race window as a function of defining a spin time period during which use of the synchronization mechanism is operational. 20. The non-transitory machine-readable medium of claim 17 , wherein a software in execution comprises the synchronization mechanism.

Assignees

Inventors

Classifications

  • of specific synchronisation aspects · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11113178B2 cover?
Exposing and reproduction of race conditions is presented herein. A method identifies a synchronization mechanism of a grouping of operating system synchronization mechanisms; based on a tunable probability value, adjusts a race window associated with the synchronization mechanism; and based on the race window, raises a likelihood of revealing a race condition.
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F11/3632. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 07 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).