|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
2008 International Conference on Software Testing, Verification, and Validation
UML Activity Diagram Based Testing of Java Concurrent Programs for Data Race and Inconsistency
April 09-April 11
ISBN: 978-0-7695-3127-4
| ASCII Text | x | ||
| Bin Lei, Linzhang Wang, Xuandong Li, "UML Activity Diagram Based Testing of Java Concurrent Programs for Data Race and Inconsistency," Software Testing, Verification, and Validation, 2008 International Conference on, pp. 200-209, 2008 International Conference on Software Testing, Verification, and Validation, 2008. | |||
| BibTex | x | ||
| @article{ 10.1109/ICST.2008.64, author = {Bin Lei and Linzhang Wang and Xuandong Li}, title = {UML Activity Diagram Based Testing of Java Concurrent Programs for Data Race and Inconsistency}, journal ={Software Testing, Verification, and Validation, 2008 International Conference on}, volume = {0}, year = {2008}, isbn = {978-0-7695-3127-4}, pages = {200-209}, doi = {http://doi.ieeecomputersociety.org/10.1109/ICST.2008.64}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - CONF JO - Software Testing, Verification, and Validation, 2008 International Conference on TI - UML Activity Diagram Based Testing of Java Concurrent Programs for Data Race and Inconsistency SN - 978-0-7695-3127-4 SP200 EP209 A1 - Bin Lei, A1 - Linzhang Wang, A1 - Xuandong Li, PY - 2008 KW - race condition KW - UML activity diagram VL - 0 JA - Software Testing, Verification, and Validation, 2008 International Conference on ER - | |||
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/ICST.2008.64
Data race occurs when multiple threads simultaneously access shared data without appropriate synchronization, and at least one is write. System with a data race is nondeterministic and may generate different outputs even with the same input, according to different interleaving of data access. We present a model-based approach for detecting data races in concurrent Java programs. We extend UML Activity diagrams with data operation tags, to model program behavior. Program under test (PUT) is instrumented according to the model. It is then executed with random test cases generated based on path analysis of the model. Execution traces are reverse engineered and used for post-mortem verification. First, data races are identified by searching the time overlaps of entering and exiting critical sections of different threads. Second, implementation could be inconsistent with the design. The problem may tangle with race condition and makes it hard to detect races. We compare the event sequences with the behavior model for consistency checking. Identified inconsistencies help debuggers locate the defects in the PUT. A prototype tool named\emph{$toc4j$} implements the proposed approach and was successfully applied to several cases studies.
Index Terms:
race condition, UML activity diagram
Citation:
Bin Lei, Linzhang Wang, Xuandong Li, "UML Activity Diagram Based Testing of Java Concurrent Programs for Data Race and Inconsistency," icst, pp.200-209, 2008 International Conference on Software Testing, Verification, and Validation, 2008
Usage of this product signifies your acceptance of the Terms of Use.
