An Abort-Aware Model of Transactional Programming

  • Authors:
  • Kousha Etessami;Patrice Godefroid

  • Affiliations:
  • University of Edinburgh,;Microsoft Research,

  • Venue:
  • VMCAI '09 Proceedings of the 10th International Conference on Verification, Model Checking, and Abstract Interpretation
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

There has been a lot of recent research on transaction-basedconcurrent programming, aimed at offering an easier concurrentprogramming paradigm that enables programmers to better exploit theparallelism of modern multi-processor machines, such as multi-coremicroprocessors. We introduce Transactional State Machines (TSMs) as an abstract finite-data model of transactionalshared-memory concurrent programs. TSMs are a variant of concurrentboolean programs (or concurrent extended recursive state machines)augmented with additional constructs for specifying potentiallynested transactions. Namely, some procedures (or code segments) canbe marked as transactions and are meant to be executed"atomically", and there are also explicit commit andabort operations for transactions. The TSM model isnon-blocking and allows interleaved executions where multipleprocesses can simultaneously be executing inside transactions. Italso allows nested transactions, transactions which may neverterminate, and transactions which may be aborted explicitly, oraborted automatically by the run-time environment due to memoryconflicts. We show that concurrent executions of TSMs satisfy a correctnesscriterion closely related to serializability, which we callstutter-serializability, with respect to shared memory. We initiatea study of model checking problems for TSMs. Model checkingarbitrary TSMs is easily seen to be undecidable, but we show it isdecidable in the following case: when recursion is exclusively usedinside transactions in all (but one) of the processes, we show thatmodel checking such TSMs against all stutter-invariantω-regular properties of shared memory is decidable.