Subject Name: piper
Souce Code Language: Java
Number of Versions: 1
Number of Variants: 1
   - orig
Error expected:
   orig: deadlock, race
Non-determinisitc: yes

***orig***
LOC: 74 (noncomment Java source code)
Classes: 4
Methods: 10
Fields: 15
Statements: 49
wait() call: 2
notifyAll() call: 2
Sync blocks: 4
Thread start() calls: 2
New expressions: 15

The piper program is based on the concurrent bug patterns reported in
[1] and is a research object in reference [2].

References:
[1] Y. Eytani, and K. Havelund, and S. D. Stoller, and S. Ur. Toward a
framework and benchmark for testing tools for
multi-threaded programs. Concurrency and Computation:
Practice and Experience, Vol 19, Iss. 3, pp. 267-279.  John Wiley & Sons, 2006.

[2] Dwyer, Matthew B. and Person, Suzette and Elbaum, Sebastian.
Controlling factors in evaluating path-sensitive error detection techniques,
SIGSOFT '06/FSE-14: Proceedings of the 14th ACM SIGSOFT international symposium
on Foundations of software engineering, 2006, isbn 1-59593-468-5, pp. 92--104,
Portland, Oregon, USA, ACM, New York, NY, USA.

