University of Cambridge > > Microsoft Research Cambridge, public talks > Concurrency Assertions – Providing the Right Semantics to ASSERT Statements

Concurrency Assertions – Providing the Right Semantics to ASSERT Statements

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 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

This work is motivated by the observation that existing implementations of ASSERT statements are broken in important ways for concurrent programs. Concurrency assertions fix these problems by 1) Evaluating the assertion expression atomically, and 2) Taking the program checkpoint atomically with the evaluation on a failure

These ensure that the assertion expression is not concurrently modified during evaluation and that the checkpoint generated on a failure represents a valid violating program state.

Apart from fixing the semantics, concurrency assertions improve the chances of an assertion failure by continuously evaluating the assertion expression for a randomly chosen time window. During this window, any concurrent write that violates the expression will trigger a failure.

We have implemented concurrency assertions for C/C++ programs. In this talk, I will describe our design choices, our implementation, and our experience in using concurrency assertions on SQL Server.

This is work in progress, and done jointly with Jacob Burnim (U.C. Berkeley) and Shaz Qadeer (MSR).

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-2023, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity