Ways to Find a Race Condition

后端 未结 8 1127
无人共我
无人共我 2021-02-05 07:02

I have a bit of code with a race condition in it... I know that it is a race condition because it does not happen consistently, and it seems to happen more often on dual core ma

相关标签:
8条回答
  • 2021-02-05 07:51

    Indeed there are some attempts to find race conditions automatically.

    • Lockset-Based Race Checker
    • Happens-Before Race Detection
    • Hybrid Race Detection

    Another term I read in conjunction with race condition detection is RaceFuzzer, but I was not able to find really useful information about it.

    I think this is a relatively yound field of investigation so there are - as far as i know - mainly theoretic papers about this subject. However, try googling one the above keywords, maybe you will find some useful information.

    0 讨论(0)
  • 2021-02-05 07:55

    It can be also a resource that is not protected, which can explain non-consistent behaviour (especially if on a single core it's working fine and not on dual core). In any case, code review (for both race conditions and non thread-safe source code) can be the shortest path to the solution.

    0 讨论(0)
提交回复
热议问题