2002
DOI: 10.1145/543552.512560
|View full text |Cite
|
Sign up to set email alerts
|

Efficient and precise datarace detection for multithreaded object-oriented programs

Abstract: We present a novel approach to dynamic datarace detection for multithreaded object-oriented programs. Past techniques for on-the-fly datarace detection either sacrificed precision for performance, leading to many false positive datarace reports, or maintained precision but incurred significant overheads in the range of 3 x to 30 x . In contrast, our approach results in very few false positives and runtime overhead in the 13% to 42% range, making it both efficient… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
115
0

Year Published

2004
2004
2018
2018

Publication Types

Select...
4
4

Relationship

1
7

Authors

Journals

citations
Cited by 100 publications
(115 citation statements)
references
References 20 publications
0
115
0
Order By: Relevance
“…When comparing this number to other works, where the reported slowdown by Eraser-like algorithms is around 2-3 (or even less), one has to take into account, that these results are obtained in environments where the program is always executed on a virtual machine like the Java VM (as in [2,12]) or Microsoft's Common Language Runtime (as in [16]). If run on Valgrind, the program is slowed down by a factor of 8-10 without instrumentation.…”
Section: Performancementioning
confidence: 97%
“…When comparing this number to other works, where the reported slowdown by Eraser-like algorithms is around 2-3 (or even less), one has to take into account, that these results are obtained in environments where the program is always executed on a virtual machine like the Java VM (as in [2,12]) or Microsoft's Common Language Runtime (as in [16]). If run on Valgrind, the program is slowed down by a factor of 8-10 without instrumentation.…”
Section: Performancementioning
confidence: 97%
“…For datarace detection, the problem of false races has been addressed by using suitable combinations of the lockset algorithm and happens-before relation [9,60]. The JMPaX tool detects violations of properties expressed in a past time temporal logic and is able to analyze all executions that do not violate the causel dependency partial order of the execution under investigation.…”
Section: Improving Coveragementioning
confidence: 99%
“…This approach improves the performance of Eraser, but monitoring at the object level causes too many spurious warnings to be displayed. Choi et al [8] have developed a lock-based dynamic tool. They reduce the number of spurious alarms by using points-to-static analysis and by filtering out all the races that the static analysis did not discover.…”
Section: Dynamic Toolsmentioning
confidence: 99%
“…Because dataraces are a cause for concern, many works have dealt with the problem of detecting them. Most works rely on static [9,14,33] or dynamic [20,23,26] analysis to find dataraces, while others use model checking [11], or a combination of techniques [8,16] for better results.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation