University of Cambridge > Talks.cam > Microsoft Research Cambridge, public talks > Verifying Concurrent Programs with Relaxed Conflict Detection

Verifying Concurrent Programs with Relaxed Conflict Detection

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Microsoft Research Cambridge Talks Admins.

This event may be recorded and made available internally or externally via http://research.microsoft.com. Microsoft will own the copyright of any recordings made. If you do not wish to have your image/voice recorded please consider this before attending

In a frequently-encountered pattern in concurrent programs, an operation first reads a large portion of shared data, then performs local computation, and finally writes to a small portion of shared data. This pattern leads to frequent conflicts between operations intended to appear atomic. To provide good performance alongside atomicity, implementations ranging from fine-grain locking to variations on transactional memory™ have been investigated.

We present an approach for statically verifying TM-based solutions with programmer-directed conflict detection. We show how static correctness proofs of such programs can be streamlined. The key challenge is that one can no longer reason sequentially within transactions. To address this challenge, we provide an abstraction recipe that restores the ability to reason sequentially. We demonstrate our approach by mechanically verifying examples from the STAMP benchmark suite.

This talk is part of the Microsoft Research Cambridge, public talks series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.

 

© 2006-2019 Talks.cam, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity