For a concurrent program, a prediction tool maps the history of a single run to a prediction of bugs in an exponential number of other runs. If all those bugs can occur, then the tool is sound. This is the case for some data-race tools like RVPredict, but was, until now, not the case for deadlock tools. We present the first sound tool for predicting deadlocks in Java. Unlike previous work, we use request events and a novel form of executability constraints that enable sound and effective deadlock prediction. We model prediction as a general decision problem, which we show is decidable and can be instantiated to both deadlocks and data races. Our proof of decidability maps the decision problem to an equivalent constraint problem that we solve using an SMT-solver. Our experiments show that our tool finds real deadlocks effectively. We also show that our model is expressive by using our tool to predict more, real data races than RVPredict.
Thu 8 NovDisplayed time zone: Guadalajara, Mexico City, Monterrey change
13:30 - 15:00 | |||
13:30 22mTalk | Thread-Safe Reactive Programming OOPSLA Joscha Drechsler Technische Universität Darmstadt, Ragnar Mogk Technische Universität Darmstadt, Guido Salvaneschi TU Darmstadt, Mira Mezini TU Darmstadt DOI Pre-print File Attached | ||
13:52 22mTalk | RacerD: Compositional Static Race Detection OOPSLA Sam Blackshear Facebook, Nikos Gorogiannis , Peter W. O'Hearn Facebook and University College London, Ilya Sergey Yale-NUS College Pre-print | ||
14:15 22mTalk | What Happens-After the First Race? Enhancing the Predictive Power of Happens-Before Based Dynamic Race Detection OOPSLA Umang Mathur University of Illinois at Urbana-Champaign, Dileep Kini University of Illinois at Urbana-Champaign, Mahesh Viswanathan University of Illinois at Urbana-Champaign DOI Authorizer link Pre-print | ||
14:37 22mTalk | Sound Deadlock Prediction OOPSLA Christian Gram Kalhauge University of California, Los Angeles, Jens Palsberg University of California, Los Angeles |