DocumentCode
3459612
Title
Testing Java monitors through deterministic execution
Author
Harvey, Craig ; Strooper, Paul
Author_Institution
Sch. of Comput. Sci. & Electr. Eng., Queensland Univ., Brisbane, Qld., Australia
fYear
2001
fDate
2001
Firstpage
61
Lastpage
67
Abstract
Java is a popular, modern programming language that supports monitors. However, monitor implementations, like other concurrent programs, are hard to test due to the inherent non-determinism. The paper presents a method for testing Java monitors, which extends the work of P. Brinch Hansen (1978) on testing Concurrent Pascal monitors. A monitor is tested by executing a concurrent program in which the processes are synchronised by a clock to make the sequence of interactions deterministic and reproducible. The method is extended to account for the differences between Concurrent Pascal monitors and Java monitors, and to provide additional coverage of the implementation under test. Tool support and documentation in the form of a test plan are also provided. The method is illustrated in detail on an asymmetric producer-consumer monitor, which is the same example that was used to illustrate the original method. The application of the method to the readers and writers problem is also discussed
Keywords
Java; Pascal; parallel languages; parallel programming; program testing; synchronisation; Concurrent Pascal monitor testing; Java monitor testing; asymmetric producer-consumer monitor; clock; concurrent programs; deterministic execution; documentation; inherent non-determinism; modern programming language; monitor implementations; process synchronisation; readers and writers problem; test plan; tool support; Australia; Clocks; Computer displays; Computer languages; Computer science; Documentation; Java; Modems; Synchronization; Testing;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering Conference, 2001. Proceedings. 2001 Australian
Conference_Location
Canberra, ACT
ISSN
1530-0803
Print_ISBN
0-7695-1254-2
Type
conf
DOI
10.1109/ASWEC.2001.948498
Filename
948498
Link To Document