Finding Concurrency-Related Bugs Using Random Isolation

Download Now Free registration required

Executive Summary

This paper describes the methods used in Empire, a tool to detect concurrency-related bugs, namely atomic-set serializability violations in Java programs. The correctness criterion is based on atomic sets of memory locations, which share a consistency property, and units of work, which preserve consistency when executed sequentially. Empire checks that, for each atomic set, its units of work are serializable. This notion subsumes data races (Single-location atomic sets), and serializability (All locations in one atomic set). To obtain a sound, finite model of locking behavior for use in Empire, the authors devised a new abstraction principle, random isolation, which allows strong updates to be performed on the abstract counterpart of each randomly-isolated object.

  • Format: PDF
  • Size: 241 KB