• 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