Concurrency Debugging with Differential Schedule Projections

dc.contributor.author Nuno Almeida Machado en
dc.contributor.author Quinta,Daniel en
dc.contributor.author Lucia,Brandon en
dc.contributor.author Rodrigues,LuisE.T. en
dc.date.accessioned 2017-12-20T09:45:40Z
dc.date.available 2017-12-20T09:45:40Z
dc.date.issued 2016 en
dc.description.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. A DSP reports the ordering and dataflow differences between the failing and nonfailing schedules. Our evaluation on buggy real-world software and benchmarks shows that, in practical time, Symbiosis generates DSPs that both isolate the small fraction of event orders and dataflows responsible for the failure and report which event reorderings prevent failing. In our experiments, DSPs contain 90% fewer events and 96% fewer dataflows than the full failure-inducing schedules. We also conducted a user study that shows that, by allowing developers to focus on only a few events, DSPs reduce the amount of time required to understand the bug's root cause and find a valid fix. © 2016 ACM. en
dc.identifier.uri http://repositorio.inesctec.pt/handle/123456789/4379
dc.identifier.uri http://dx.doi.org/10.1145/2885495 en
dc.language eng en
dc.relation 6808 en
dc.rights info:eu-repo/semantics/openAccess en
dc.title Concurrency Debugging with Differential Schedule Projections en
dc.type article en
dc.type Publication en
Files
Original bundle
Now showing 1 - 1 of 1
Thumbnail Image
Name:
P-00K-F2K.pdf
Size:
1.29 MB
Format:
Adobe Portable Document Format
Description: