• DocumentCode
    724743
  • Title

    Dynamic data race detection in Java-programs using synchronization contracts

  • Author

    Tsitelov, Dmitry ; Trifanov, Vitaly

  • Author_Institution
    Devexperts LLC, St. Petersberg, Russia
  • fYear
    2013
  • fDate
    10-12 Oct. 2013
  • Firstpage
    3
  • Lastpage
    8
  • Abstract
    Data race occurs in a multi-threaded program when several threads simultaneously access the same memory location and at least one of them is a write access. Data races can damage global data structures and it´s hard to detect them manually, so research in the area of automatic race detection methods has been carried out for more than 20 years. This article covers aspects of performance and precision of dynamic race detection in Java programs and proposes the idea of lowering the overheads of dynamic analysis using synchronization contracts. Synchronization contracts are mainly based on specifying pairs of methods, that being called from different threads provide synchronization between these threads. Contracts serve for exclusion of application´s code parts that are not interesting from race detection perspective, for example - external libraries. In this paper we describe contracts specification language and some implementation details and discuss advantages and restrictions of our approach.
  • Keywords
    Java; data structures; formal specification; multi-threading; Java programs; automatic race detection methods; dynamic analysis; dynamic data race detection; global data structures; memory location; multithreaded program; specification language; synchronization contracts; Clocks; Contracts; Detectors; Instruction sets; Java; Message systems; Synchronization; automatic error detection; data race; dynamic analysis; multithreading;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Tools & Methods of Program Analysis (TMPA), 2013
  • Conference_Location
    Kostroma
  • Print_ISBN
    978-0-9860773-1-9
  • Type

    conf

  • DOI
    10.1109/TMPA.2013.7163714
  • Filename
    7163714