Thu 8 Nov 2018 14:37 - 15:00 at Studio 1 - Parallelism and Correctness Chair(s): Werner Dietl

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 Nov

13:30 - 15:00: OOPSLA - Parallelism and Correctness at Studio 1
Chair(s): Werner DietlUniversity of Waterloo, Canada
splash-2018-OOPSLA13:30 - 13:52
Joscha DrechslerTechnische Universit├Ąt Darmstadt, Ragnar MogkTechnische Universit├Ąt Darmstadt, Guido SalvaneschiTU Darmstadt, Mira MeziniTU Darmstadt
DOI Pre-print File Attached
splash-2018-OOPSLA13:52 - 14:15
Sam BlackshearFacebook, Nikos Gorogiannis, Peter W. O'HearnFacebook and University College London, Ilya SergeyYale-NUS College
splash-2018-OOPSLA14:15 - 14:37
Umang MathurUniversity of Illinois at Urbana-Champaign, Dileep KiniUniversity of Illinois at Urbana-Champaign, Mahesh ViswanathanUniversity of Illinois at Urbana-Champaign
DOI Authorizer link Pre-print
splash-2018-OOPSLA14:37 - 15:00
Christian Gram KalhaugeUniversity of California, Los Angeles, Jens PalsbergUniversity of California, Los Angeles