Efficient implementations of concurrent objects such as semaphores, locks, and atomic collections are essential to modern computing. Programming such objects is error prone: in minimizing the synchronization overhead between concurrent object invocations, one risks the conformance to reference implementations — or in formal terms, one risks violating observational refinement. Precisely testing this refinement even within a single execution is intractable, limiting existing approaches to executions with very few object invocations.
We develop scalable and effective algorithms for detecting refinement violations. Our algorithms are founded on incremental, symbolic reasoning, and exploit foundational insights into the refinement-checking problem. Our approach is sound, in that we detect only actual violations, and scales far beyond existing violation-detection algorithms. Empirically, we find that our approach is practically complete, in that we detect nearly all violations arising in actual executions.
Tue 16 JunDisplayed time zone: Tijuana, Baja California change
09:15 - 10:55 | Concurrency IIResearch Papers at PLDI Main BLUE (Portland 254-255) Chair(s): Suresh Jagannathan Purdue University | ||
09:15 25mTalk | Composing Concurrency Control Research Papers Ofri Ziv Tel Aviv University, Alex Aiken Stanford University, Guy Golan-Gueta Yahoo Labs, G. Ramalingam Microsoft Research, Mooly Sagiv Tel Aviv University Media Attached | ||
09:40 25mTalk | Dynamic Partial Order Reduction for Relaxed Memory Models Research Papers Media Attached | ||
10:05 25mTalk | Monitoring Refinement via Symbolic Reasoning Research Papers Michael Emmi , Constantin Enea LIAFA, Université Paris Diderot, Jad Hamza LIAFA, Université Paris Diderot Media Attached | ||
10:30 25mTalk | Preventing Glitches and Short Circuits in High-Level Self-Timed Chip Specifications Research Papers Stephen Longfield Cornell University, Brittany Nkounkou Cornell University, Rajit Manohar Cornell University, Ross Tate Cornell University Media Attached |