Loading...
Please wait, while we are loading the content...
Similar Documents
Tiddle: a trace description language for generating concurrent benchmarks to test dynamic analyses
| Content Provider | ACM Digital Library |
|---|---|
| Author | Yi, Jaeheon Sadowski, Caitlin |
| Abstract | Dynamic analysis is a promising technique for finding concurrency bugs in multithreaded programs. However, testing a dynamic analysis tool can be difficult. Researchers end up writing large amounts of small benchmark programs. Since the benchmarks themselves are concurrent programs, they may execute nondeterministically, complicating testing of the analysis tool. We propose testing dynamic analyses by writing traces in a simple trace description language, Tiddle. Our implementation, written in Haskell, generates deterministic multithreaded Java programs for testing dynamic analyses. We report that it is substantially easier to write programs with incriminating bugs such as race conditions in Tiddle than the corresponding Java source code version, reducing the amount of source code to maintain and understand. Although our implementation is targeted towards Java, the ideas extend to any other languages which support mutable fields and multiple threads. |
| Starting Page | 15 |
| Ending Page | 21 |
| Page Count | 7 |
| File Format | |
| ISBN | 9781605586564 |
| DOI | 10.1145/2134243.2134248 |
| Language | English |
| Publisher | Association for Computing Machinery (ACM) |
| Publisher Date | 2009-07-20 |
| Publisher Place | New York |
| Access Restriction | Subscribed |
| Subject Keyword | Atomicity violations Concurrency Traces Dynamic analysis Race conditions |
| Content Type | Text |
| Resource Type | Article |