Atomic Sets-Model and Implementations

Speaker:        Julian Dolby
                Thomas J. Watson Research Center
                IBM

Title:          "Atomic Sets-Model and Implementations"

Date:           Monday, 18 June 2012

Time:           4:00pm - 5:00pm

Venue:          Room 3416 (via lifts 17/18), HKUST

Abstract:

The Atomic Sets programming model provides a declarative mechanism to
specify consistency constraints amongst sets of fields in objects, which
we call atomic sets; the model also defines units of work, which are
logical operations upon these atomic sets. These atomic sets and units of
work are used to automatically add synchronization to code to ensure that
the atomic sets are used in a serializable manner. This declarative
approach to consistency simplifies programmer reasoning, and thus helps
programmers avoid low-level race conditions that can arise when
synchronization constructs are used in an inconsistent manner. I shall
present the basic model, and talk about two versions that we have
developed at Watson. The first model is one based on using program
analysis to infer how to place synchronization, and the second model uses
a type system instead of program analysis. Finally, I shall discuss some
experiments showing the system can provide competitive performance.

This is joint work with Mandana Vaziri, Frank Tip, Christian Hammer,
Daniel Marino, Todd Milstein and Jan Vitek.


********************
Biography:

Julian Dolby has been a Research Staff Member at IBM's Thomas J. Watson
Research Center since 2000. He works on a range of topics, including
static program analysis, software testing and the semantic Web. His
program analysis work has recently been focused on scripting languages
like JavaScript and on security analysis of Web applications; this work
has been included in IBM products, most notably Rational AppScan product
line, and he is one of the primary authors of the publicly-available
Watson Libraries for Analysis (WALA) program analysis infrastructure. His
testing work has been primarily focused on Web applications in the Apollo
project, and on finding concurrency bugs using both dynamic execution and
model checking. His semantic Web work focuses on efficient representation
of RDF data in an RDBMS, and is now available in IBM's DB2 version 10.