Asynchronous Programming, Analysis and Testing with State Machines
Programming efficient asynchronous systems is challenging because it can often be hard to express the design declaratively, or to defend against interleaving-dependent bugs such as data races and other assertion violations. Previous work has only addressed these challenges individually, either by designing a new declarative language, or a new data race detection tool, or a new testing technique. We present P#, a language for high-reliability asynchronous programming co-designed with a static analysis and testing infrastructure. We describe our experience using P# to write several distributed protocols and port an industrial-scale system internal to Microsoft, showing that the supporting techniques, by leveraging the design of P#, are effective in finding bugs.
Mon 15 JunDisplayed time zone: Tijuana, Baja California change
16:00 - 17:40 | Concurrency IResearch Papers at PLDI Main BLUE (Portland 254-255) Chair(s): Santosh Nagarakatte Rutgers University | ||
16:00 25mTalk | Asynchronous Programming, Analysis and Testing with State Machines Research Papers Pantazis Deligiannis Imperial College London, Alastair F. Donaldson Imperial College London, Jeroen Ketema , Akash Lal Microsoft Research India, Paul Thomson Imperial College London Media Attached | ||
16:25 25mTalk | Stateless Model Checking Concurrent Programs with Maximal Causality Reduction Research Papers Jeff Huang Texas A&M University Media Attached | ||
16:50 25mTalk | Synthesizing racy tests Research Papers Malavika Samak Indian Institute of Science, Bangalore, Murali Krishna Ramanathan Indian Institute of Science, Bangalore, Suresh Jagannathan Purdue University Media Attached | ||
17:15 25mTalk | The Push/Pull model of transactions Research Papers Media Attached |