Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering 2014
DOI: 10.1145/2635868.2635918
|View full text |Cite
|
Sign up to set email alerts
|

Sherlock: scalable deadlock detection for concurrent programs

Abstract: We present a new technique to find real deadlocks in concurrent programs that use locks. For 4.5 million lines of Java, our technique found almost twice as many real deadlocks as four previous techniques combined. Among those, 33 deadlocks happened after more than one million computation steps, including 27 new deadlocks. We first use a known technique to find 1275 deadlock candidates and then we determine that 146 of them are real deadlocks. Our technique combines previous work on concolic execution with a ne… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
36
0

Year Published

2016
2016
2023
2023

Publication Types

Select...
5
1
1

Relationship

0
7

Authors

Journals

citations
Cited by 56 publications
(36 citation statements)
references
References 67 publications
0
36
0
Order By: Relevance
“…Other deadlock detection approaches such as concolic execution [8] are between static analysis and runtime detection.…”
Section: Related Workmentioning
confidence: 99%
“…Other deadlock detection approaches such as concolic execution [8] are between static analysis and runtime detection.…”
Section: Related Workmentioning
confidence: 99%
“…There exist numerous techniques for deadlock detection, such as Chord [26] and Sherlock [10], that apply to different programming models. Most of the approaches pursue scalability without losing accuracy, thus effectiveness.…”
Section: Deadlocksmentioning
confidence: 99%
“…As noted in Section 1, thread-level race detection techniques [1,[3][4][5][8][9][10][12][13][14][15][25][26][27] cannot be directly adopted to address process-level race conditions. There are several reasons for this.…”
Section: Comparing System-level and Thread-level Race Detection Technmentioning
confidence: 99%
“…Many techniques have been proposed to improve dynamic analysis techniques by providing both observability (the ability to observe events) and controllability (the ability to permute execution interleavings during test runs) . These techniques attempt to abstract away scheduling nondeterminism in concurrent programs to achieve greater execution control.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation