kirancodes.me
To Proof Maintenance & Beyond!

Detecting atomic-set serializability violations in multithreaded programs through active randomized testing

Zhifeng Lai, Shing-Chi Cheung, Wing Kwong Chan

Abstract

Concurrency bugs are notoriously difficult to detect because there can be vast combinations of interleavings among concurrent threads, yet only a small fraction can reveal them. Atomic-set serializability characterizes a wide range of concurrency bugs, including data races and atomicity violations. In this paper, we propose a two-phase testing technique that can effectively detect atomic-set serializability violations. In Phase I, our technique infers potential violations that do not appear in a concrete execution and prunes those interleavings that are violation-free. In Phase II, our technique actively controls a thread scheduler to enumerate these potential scenarios identified in Phase I to look for real violations. We have implemented our technique as a prototype system AssetFuzzer and applied it to a number of subject programs for evaluating concurrency defect analysis techniques. The experimental results show that AssetFuzzer can identify more concurrency bugs than two recent testing tools RaceFuzzer and AtomFuzzer.

BibTeX
@inproceedings{Lai-al:ICSE10,
  author    = {Zhifeng Lai and
               Shing{-}Chi Cheung and
               Wing Kwong Chan},
  title     = {Detecting atomic-set serializability violations in multithreaded programs through active randomized testing},
  booktitle = {ICSE (Part I)},
  pages     = {235--244},
  publisher = {{ACM}},
  year      = {2010},
}

Related papers