2014 IEEE 20th International Symposium on High Performance Computer Architecture (HPCA) 2014
DOI: 10.1109/hpca.2014.6835923
|View full text |Cite
|
Sign up to set email alerts
|

Dynamically detecting and tolerating IF-Condition Data Races

Abstract: An IF-Condition Invariance Violation (ICIV) occurs when, after a thread has computed the control expression of an IF statement and while it is executing the THEN or ELSE clauses, another thread updates variables in the IF's control expression. An ICIV can be easily detected, and is likely to be a sign of a concurrency bug in the code. Typically, the ICIV is caused by a data race, which we call IF-Condition Data Race (ICR).In this paper, we analyze the data races reported in the bug databases of popular softwar… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
7
0

Year Published

2015
2015
2019
2019

Publication Types

Select...
4
4

Relationship

1
7

Authors

Journals

citations
Cited by 13 publications
(7 citation statements)
references
References 38 publications
0
7
0
Order By: Relevance
“…LARD also demonstrates how to convey sucient information across these layers to restore precision. Other hardware race detectors [21,32,36,38,[41][42][43]60] sacrice soundness and completeness in favor of simpler and faster hardware.…”
Section: Related Workmentioning
confidence: 99%
“…LARD also demonstrates how to convey sucient information across these layers to restore precision. Other hardware race detectors [21,32,36,38,[41][42][43]60] sacrice soundness and completeness in favor of simpler and faster hardware.…”
Section: Related Workmentioning
confidence: 99%
“…Knowing programmers' misconceptions can help bug detectors focus on specifications likely to be violated. LC bug researchers have leveraged misconceptions such as "two near-by reads of the same variable should return the same value" [46] and "a condition checked to be true should remain true when used" [53]. Finding #6 reveals that DC-unique common misconceptions, such as "a single hop is faster than double hops", "local computation is faster than one-hop message", "atomic blocks cannot be broken" can help DC bug detection.…”
Section: Bug Detection Toolsmentioning
confidence: 99%
“…For concurrency bug issues, we manually studied the origins of 25 concurrency bugs to see how they are introduced by code revisions. Since this study often requires much deeper understanding of bugs than what change logs provide, some of these 25 bugs are sampled from the change history study mentioned above, and some are from real-world bugs widely used by previous concurrency-bug research [2,15,20,21,29,30,32,42,45,53,60,61,63,66,70,71].…”
Section: Contributionsmentioning
confidence: 99%
“…Although many empirical studies have looked at realworld concurrency bugs [9,14,29,45,70], almost no study has focuses on how developers handle over-synchronization problems in real world. It will be the focus of this section.…”
Section: Over Synchronization Studymentioning
confidence: 99%