State-space exploration for concurrent algorithms under weak memory orderings: (preliminary version)

  • Authors:
  • Bengt Jonsson

  • Affiliations:
  • Uppsala University, Sweden

  • Venue:
  • ACM SIGARCH Computer Architecture News
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Several concurrent implementations of familiar data abstractions such as queues, sets, or maps typically do not follow locking disciplines, and often use lock-free synchronization to gain performance. Since such algorithms are exposed to a weak memory model, they are notoriously hard to get correct, as witnessed by many bugs found in published algorithmsWe outline a technique for analyzing correctness of concurrent algorithms under weak memory models, in which a model checker is used to search for correctness violations. The algorithm to be analyzed is transformed into a form where statements may be reordered according to a particular weak memory ordering. The transformed algorithm can then be analyzed by a model-checking tool, e.g., by enumerative state exploration. We illustrate the approach on a small example of a queue, which allows an enqueue operation to be concurrent with a dequeue operation, which we analyze with respect to the RMO memory model defined in SPARC v9.