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 control-flow 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 to non-failing executions, and takes a practical amount of time.
Wed 16 MarDisplayed time zone: Belfast change
11:35 - 12:50 | Performance analysis and debuggingMain conference at Mallorca+Menorca Chair(s): Martin Schulz Lawrence Livermore National Laboratory | ||
11:35 25mTalk | ESTIMA: Extrapolating ScalabiliTy of In-Memory Applications Main conference Georgios Chatzopoulos Ecole Polytechnique Federale de Lausanne (EPFL), Switzerland, Aleksandar Dragojević Microsoft Research, Rachid Guerraoui EPFL, Switzerland Link to publication DOI | ||
12:00 25mTalk | Grain Graphs: OpenMP Performance Analysis Made Easy Main conference Ananya Muddukrishna , Peter A. Jonsson SICS Swedish ICT AB, Artur Podobas KTH Royal Institute of Technology, Mats Brorsson KTH Royal Institute of Technology Link to publication DOI | ||
12:25 25mTalk | Production-guided Concurrency Debugging Main conference Nuno Machado INESC-ID / Instituto Superior Técnico, Universidade de Lisboa, Brandon Lucia Carnegie Mellon University, Luís Rodrigues Universidade de Lisboa, Instituto Superior Técnico, INESC-ID Link to publication DOI |