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

***orig***
LOC: 103 (noncomment Java source code)
Classes: 6
Methods: 17
Fields: 16
Statements: 30
wait() call: 2
notifyAll() call: 2
Sync blocks: 6
Thread start() calls: 2
New expressions: 5

readerswriters implements a read/write concurrency scenario that
will write while a read thread is active causing the concurrency
fault to be exposed.

The readerswriters program is based on the efforts of the Bandera
group and expresses one of the bug patterns reported in [1] and
is a test subject used in [2] [3]:

[1] C. Pasareanu, M. B. Dwyer, and W. Visser. Finding feasible
abstract counter-examples. Int’l. Journal on Software Tools
for Tech. Transfer, 5(1):34–48, 2003.

[2] M. B. Dwyer, J. Hatcliff, M. Hoosier, V. Ranganath, Robby,
and T. Wallentine. Evaluating the effectiveness of program
slicing for model reduction of concurrent object-oriented
programs. In Proc. of the Twelfth Int’l. Conf. Tools and
Algorithms for the Construction and Analysis of Systems,
2006. LNCS 3920.

[3] 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.
