|
ABSTRACT
A noise maker is a tool that seeds a concurrent program with conditional synchronization primitives (such as yield()) for the purpose of increasing the likelihood that a bug manifest itself. This work explores the theory and practice of choosing where in the program to induce such thread switches at runtime. We introduce a novel fault model that classifies locations as ¿good¿, ¿neutral¿, or ¿bad,¿ based on the effect of a thread switch at the location. We validate our approach by experimenting with a set of programs taken from publicly available multi-threaded benchmark. Our empirical evidence demonstrates that real-life behavior is similar to that derived from the model.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
O. Edelstein, E. Farchi, Y. Nir, G. Ratsaby, and S. Ur. ¿Multithreaded Java Program Test Generation.¿ IBM Systems Journal, Vol. 41, No. 1, 2002.
|
| |
3
|
Y. Eytani, K. Havelund, S. D. Stoller, and S. Ur. "Toward a Framework and Benchmark for Testing Tools for Multi-Threaded Programs". Concurrency and Computation: Practice & Experience, to appear.
|
| |
4
|
|
 |
5
|
|
| |
6
|
H. H. Hallal , E. Alikacem , W. P. Tunney , S. Boroday , A. Petrenko, Antipattern-Based Detection of Deficiencies in Java Multithreaded Software, Proceedings of the Quality Software, Fourth International Conference on (QSIC'04), p.258-267, September 08-10, 2004
[doi> 10.1109/QSIC.2004.8]
|
| |
7
|
|
 |
8
|
|
| |
9
|
S. D. Stoller. "Testing Concurrent Java Programs Using Randomized Scheduling." In Workshop on Runtime Verification (RV), Volume 70(4), Electronic Notes in Theoretical Computer Science. Elsevier, 2002.
|
|