2016
DOI: 10.1145/2885495
|View full text |Cite
|
Sign up to set email alerts
|

Concurrency Debugging with Differential Schedule Projections

Abstract: We present Symbiosis: a concurrency debugging technique based on novel differential schedule projections (DSPs). A DSP shows the small set of memory operations and dataflows responsible for a failure, as well as a reordering of those elements that avoids the failure. To build a DSP, Symbiosis first generates a full, failing, multithreaded schedule via thread path profiling and symbolic constraint solving. Symbiosis selectively reorders events in the failing schedule to produce a nonfailing, alternate schedule.… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
25
0

Year Published

2017
2017
2024
2024

Publication Types

Select...
6
1

Relationship

1
6

Authors

Journals

citations
Cited by 11 publications
(26 citation statements)
references
References 81 publications
1
25
0
Order By: Relevance
“…Similar to our approach, [Huang et al 2013] and [Machado et al 2015] rely on symbolic constraint solving to construct full, failing, multithreaded schedules that manifest concurrency bugs. However, unlike these approaches which depend on dynamic path profiling to detect conflicting operations, we analyze programs in an intermediate language which can be generated from any source language using a proper compiler.…”
Section: Related Workmentioning
confidence: 99%
“…Similar to our approach, [Huang et al 2013] and [Machado et al 2015] rely on symbolic constraint solving to construct full, failing, multithreaded schedules that manifest concurrency bugs. However, unlike these approaches which depend on dynamic path profiling to detect conflicting operations, we analyze programs in an intermediate language which can be generated from any source language using a proper compiler.…”
Section: Related Workmentioning
confidence: 99%
“…This paper also discusses a number of challenging research directions, including not only the design of additional partial logging schemes but also new heuristics and metrics to correlate partial logs. Finally, CoopREP can also be easily integrated with bug localization tools, [31,32] to automatically identify nonvisible bugs and isolate the error's root cause.…”
Section: Discussionmentioning
confidence: 99%
“…In order to further confirm how race conditions affect replay, we also evaluated a synthetic racy program-Crasher [51]. We ran Crasher 100, 000 times, and the race condition (causing a crash) was observed on 82, 592 out of 100, 000 executions.…”
Section: Handling Race Conditionsmentioning
confidence: 99%
“…We have performed experiments on Memcached, Crasher [51], and all evaluated PARSEC applications using implanted buffer overflows. Crasher contains a segmentation fault, while the others have buffer overflows.…”
Section: Debugging Toolsmentioning
confidence: 99%