2014
DOI: 10.1002/stvr.1564
|View full text |Cite
|
Sign up to set email alerts
|

A survey of race bug detection techniques for multithreaded programmes

Abstract: SummaryAs multithreaded programmes become popular to fully utilize multicore CPUs, many race bug detection techniques have been developed to find concurrency errors in multithreaded programmes effectively. Because these techniques have different views on target programme execution and detect race bugs of various types, it is difficult to characterize, compare and improve race bug detection techniques. This paper presents a formal execution model, which can uniformly represent various views of race bug detectio… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
13
0

Year Published

2018
2018
2022
2022

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 27 publications
(13 citation statements)
references
References 73 publications
0
13
0
Order By: Relevance
“…This is in line with classic static and dynamic analyses of concurrent programs [38][39][40][41]. However, our notion of lock summary slightly differs from the classic notion of lockset [42], largely adopted by dynamic and static concurrency bug detectors [24,25,39,40,[43][44][45]. The classic lockset is defined at the granularity level of single instructions, while we define lock summary at the granularity level of sets of instructions.…”
Section: Definitionmentioning
confidence: 74%
“…This is in line with classic static and dynamic analyses of concurrent programs [38][39][40][41]. However, our notion of lock summary slightly differs from the classic notion of lockset [42], largely adopted by dynamic and static concurrency bug detectors [24,25,39,40,[43][44][45]. The classic lockset is defined at the granularity level of single instructions, while we define lock summary at the granularity level of sets of instructions.…”
Section: Definitionmentioning
confidence: 74%
“…Note that while the threads share global memory locations (a source of dependency), the accesses are not concurrent in any interleaving. For instance in Figure 1, although the main thread and the first thread access the first slot in arr at lines 5 and 21, there can be no other execution of the program where line 21 is executed before line 5 due to the explicit synchronization call pthread_join (line 19).…”
Section: Motivating Examplementioning
confidence: 99%
“…The problem of whether a program is thread safe is outside the scope of this work, and is covered elsewhere [19], [7].…”
Section: Motivating Examplementioning
confidence: 99%
See 1 more Smart Citation
“…Yu et al [2005] believe that łdata races almost always indicate a programming error and such errors are notoriously diicult to ind and debug, due to the non-deterministic nature of multi-threaded programmingž. There is a large body of research on tools to discover and remove races (for example, Hong and Kim [2015]). Other than the Java language feature mentioned above, data races in programmes running over Sapphire are type-safe, and at worst may leave an old value in a non-volatile ield.…”
Section: The Original Sapphire Algorithmmentioning
confidence: 99%