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
Link To Document :
بازگشت