Font Size: a A A

Research On Dynamic Data Race Detection

Posted on:2017-03-14Degree:MasterType:Thesis
Country:ChinaCandidate:X F WangFull Text:PDF
GTID:2348330503489889Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Data races are one of common concurrency bugs in multithreaded programs. But they are hard to find due to nondeterministic thread scheduling. Data race dynamic detection is find data race while the program is running, the most popular detector is FastTrack Lockset, or combine them.This paper analyses the detection capability of different algorithms, describes the thread-interleaving- sensitivity of current detection algoritms, and presents a dynamic data race detector BufferTrack, which is a dynamic detector hybrid FastTrack and Lockset. BufferTrack use sub-hb relation to replace the happen-before relation, and use Lockset to detect data race between concurrent read/write of the same shared memory. BufferTrack presents a dynamic buffer to record the access information, order to detect and predict data races in one specific execution, the size of buffer can change in the execution, the more data races of shared memory detected, the buffer will be bigger, and vice versa. The danamic buffer can help detector find more data race and decrease the overhead in redundancy detection.This paper implement BufferTrack in Pin and the data structs of this algorithm,design the program monitor module and analysis module, assemble them to be a detection tool. At last, we experiment on the example program and benchmark program, the result of expriments indicate that BufferTrack is less sensitive to thread scheduling, and buffer can help to find and predict data races in one execution.
Keywords/Search Tags:Data race, Dynamic buffer, Data race prediction
PDF Full Text Request
Related items