DocumentCode :
1669314
Title :
A classification of concurrency failures in Java components
Author :
Long, Brad ; Strooper, Paul
Author_Institution :
Software Verification Res. Centre, Queensland Univ., Brisbane, Qld., Australia
fYear :
2003
Abstract :
The Java programming language supports concurrency. Concurrent programs are hard to test due to their inherent non-determinism. This paper presents a classification of concurrency failures that is based on a model of Java concurrency. The model and failure classification is used to justify coverage of synchronization primitives of concurrent components. This is achieved by constructing concurrency flow graphs for each method call. A producer-consumer monitor is used to demonstrate how the approach can be used to measure coverage of concurrency primitives and thereby assist in determining test sequences for deterministic execution.
Keywords :
Java; flow graphs; multi-threading; object-oriented programming; program testing; synchronisation; Java components; Java programming language; concurrency failure classification; concurrency flow graphs; concurrency primitives; concurrent programs; coverage; deterministic execution; method call; producer-consumer monitor; synchronization primitives; test sequences; Algorithm design and analysis; Australia; Concurrent computing; Flow graphs; Java; Mathematical model; Sequential analysis; Software testing; System testing; Yarn;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Parallel and Distributed Processing Symposium, 2003. Proceedings. International
ISSN :
1530-2075
Print_ISBN :
0-7695-1926-1
Type :
conf
DOI :
10.1109/IPDPS.2003.1213512
Filename :
1213512
Link To Document :
بازگشت