Gul Agha
Fri 14 Aug 2015, 14:00 - 15:00
Informatics Forum (IF-4.31/4.33)

If you have a question about this talk, please contact: Bob Fisher (rbf)

Concurrent programs today are written in one of two paradigms: actors
and threads with shared memory.  While scalable concurrent systems
such as twitter, LinkedIn, and Facebook chat have been implemented
using actor languages, many programmers continue to use threads with
shared memory.  Such concurrent programs often ensure the consistency
of their data structures through control-centric synchronization such
as locks.  Because control-centric synchronization is disconnected
from the consistency invariants of the data structures, it is hard to
detect bugs caused by incorrect synchronization.  Moreover, a
consistency bug may be the result of some unlikely schedule and
therefore not show up in program testing.  We have developed an
efficient algorithm using Bayesian probabilistic inference to infer
the concurrency structure of programs based on traces.  Annotating the
program with data centric synchronization, facilitates consistency
checking, deadlock detection, and data race prevention.  Finally, I
will discuss our current research on how such inference may be used to
'actorize' programs, enforcing data encapsulation and synchronization
through session types.