Production-guided concurrency debugging

4 years 3 months ago
Production-guided concurrency debugging
Concurrency bugs that stem from schedule-dependent branches are hard to understand and debug, because their root causes imply not only different event orderings, but also changes in the control-flow between failing and non-failing executions. We present Cortex: a system that helps exposing and understanding concurrency bugs that result from schedule-dependent branches, without relying on information from failing executions. Cortex preemptively exposes failing executions by perturbing the order of events and controlflow behavior in non-failing schedules from production runs of a program. By leveraging this information from production runs, Cortex synthesizes executions to guide the search for failing schedules. Production-guided search helps cope with the large execution search space by targeting failing executions that are similar to observed non-failing executions. Evaluation on popular benchmarks shows that Cortex is able to expose failing schedules with only a few perturbations t...
Nuno Machado, Brandon Lucia, Luís E. T. Rod
Added 09 Apr 2016
Updated 09 Apr 2016
Type Journal
Year 2016
Authors Nuno Machado, Brandon Lucia, Luís E. T. Rodrigues
Comments (0)