2007
DOI: 10.1016/j.entcs.2007.04.004
|View full text |Cite
|
Sign up to set email alerts
|

Fault Detection in Multi-Threaded C++ Server Applications

Abstract: Due to increasing demands in processing power on the one hand, but the physical limit on CPU clock speed on the other hand, multi-threaded programming is becoming more important in current applications. Unfortunately, multi-threaded programs are prone to programming mistakes that result in hard to find defects, mainly race-conditions and deadlocks. The need for tools that help finding these faults is immanent, but currently available tools are either difficult to use because of the need for annotations, unable… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
8
0

Year Published

2007
2007
2017
2017

Publication Types

Select...
4
4

Relationship

0
8

Authors

Journals

citations
Cited by 13 publications
(8 citation statements)
references
References 17 publications
0
8
0
Order By: Relevance
“…It remembers which locks are held when each memory location is accessed, and can thus detect when a memory location is accessed without a consistent lock-set, which may imply a data race. VisualThreads [5] and Helgrind [10] are similar. DRD [19] is another race detector that uses a different race-detection algorithm.…”
Section: Shadow Memory Is Usefulmentioning
confidence: 62%
“…It remembers which locks are held when each memory location is accessed, and can thus detect when a memory location is accessed without a consistent lock-set, which may imply a data race. VisualThreads [5] and Helgrind [10] are similar. DRD [19] is another race detector that uses a different race-detection algorithm.…”
Section: Shadow Memory Is Usefulmentioning
confidence: 62%
“…Our artificial data races should also work with different thread checking tools like the SUN Thread Analyzer [11] or Helgrind [16]. Furthermore, this topic also has consequences for the deadlock detection provided by Umpire [6].…”
Section: Related Workmentioning
confidence: 99%
“…This makes the development and debugging of a dynamic analysis framework and of its derived tools easier. Serialization should not be seen as a crucial limitation of our implementation: for instance Helgrind [19,28] and DRD [28], two popular tools for detecting synchronization errors in programs that use the POSIX pthreads primitives, are both based on Valgrind. Serialization implies that our profiler does not need to perform tie breaking of events (see Section 4).…”
Section: Instrumentationmentioning
confidence: 99%