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....
Uloženo v:
| Vydáno v: | 2010 ACM/IEEE 32nd International Conference on Software Engineering Ročník 1; s. 235 - 244 |
|---|---|
| Hlavní autoři: | , , |
| Médium: | Konferenční příspěvek |
| Jazyk: | angličtina japonština |
| Vydáno: |
New York, NY, USA
ACM
01.05.2010
IEEE |
| Edice: | ACM Conferences |
| Témata: | |
| ISBN: | 9781605587196, 1605587192 |
| ISSN: | 0270-5257 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| Shrnutí: | 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 |

