We present a general theory of serializability, unifying a wide range of transactional algorithms, including some that are yet to come. To this end, we provide a compact semantics in which concurrent transactions push their effects into the shared view (or unpush to recall effects) and pull the effects of potentially uncommitted concurrent transactions into their local view (or unpull to detangle). Each operation comes with simple side-conditions given in terms of commutativity (Lipton’s left-movers and right-movers).
The benefit of this model is that most of the elaborate reasoning (coinduction, simulation, subtle invariants, etc.) necessary for proving the serializability of a transactional algorithm is already proved within the semantic model. Thus, proving serializability (or opacity) amounts simply to mapping the algorithm on to our rules, and showing that it satisfies the rules’ side-conditions.
Mon 15 Jun Times are displayed in time zone: Tijuana, Baja California change
16:00 - 17:40
|Asynchronous Programming, Analysis and Testing with State Machines|
Pantazis DeligiannisImperial College London, Alastair DonaldsonImperial College London, Jeroen Ketema, Akash LalMicrosoft Research India, Paul ThomsonImperial College LondonMedia Attached
|Stateless Model Checking Concurrent Programs with Maximal Causality Reduction|
Jeff HuangTexas A&M UniversityMedia Attached
|Synthesizing racy tests|
Malavika SamakIndian Institute of Science, Bangalore, Murali Krishna RamanathanIndian Institute of Science, Bangalore, Suresh JagannathanPurdue UniversityMedia Attached
|The Push/Pull model of transactions|
Research PapersMedia Attached