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

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....

Full description

Saved in:
Bibliographic Details
Published in2010 ACM/IEEE 32nd International Conference on Software Engineering Vol. 1; pp. 235 - 244
Main Authors Lai, Zhifeng, Cheung, S. C., Chan, W. K.
Format Conference Proceeding
LanguageEnglish
Japanese
Published New York, NY, USA ACM 01.05.2010
IEEE
SeriesACM Conferences
Subjects
Online AccessGet full text
ISBN9781605587196
1605587192
ISSN0270-5257
DOI10.1145/1806799.1806836

Cover

More Information
Summary: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.
ISBN:9781605587196
1605587192
ISSN:0270-5257
DOI:10.1145/1806799.1806836