Subject Name: alarmclock
Souce Code Language: Java
Number of Versions: 1
Number of Variants: 2
   - orig/ac4
   - orig/ac9
Error expected:
   orig:  NullPointerException
Non-determinisitc: yes

***orig***
LOC: 125 (noncomment Java source code)
Classes: 6
Methods: 20
Fields: 24
Statements: 64
wait() call: 1
notifyAll() call: 1
Sync blocks: 4
Thread start() calls: 3
New expressions: 7

Two variants of the alarmclock object are provided in this
testing artifact.  The ac9 variant differs from the original
ac4 variant by removed System.out calls and references to String().
The ac9 variant is also modified from the ac4 variant to take out sync
method calls.

The alarmclock program is based on the efforts of the Bandera
group and expresses one of the bug patterns reported in:

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.

