Font Size: a A A

The Data Race Detection And Replay Based On Instrumentation And Dynamic Symbolic Execution

Posted on:2016-05-28Degree:MasterType:Thesis
Country:ChinaCandidate:Q Z WanFull Text:PDF
GTID:2348330479953407Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
In recent years, with the rapid development of multi-core processors, multi-threaded programming technology has been more and more attention. However, due to the uncertainty of multi-threaded execution order, it makes certain amount of confusion and difficulty to the debugger for finding out the potential errors in concurrent programs. Among them, the error caused by data race is the most common. How to detect the possible data race efficiently and precisely in concurrent program and replay the program certainty will be the research focus.We have proposed two solutions based instrumentation and dynamic symbolic execution methed, then finished them. For the instrumentation scheme, we firstly analyze the intermediate instruction file of the source code. Then embed the monitor module based on different definition of shared variable. After that, detect the conflict of synchronous operation depended on the timestamp vector, and add a method for the vicious data race detection. In the KLEE methed, we use dynamic symbolic execution techniques, which had been achieved in KLEE, to execute virtually the instruction file. In this process, we need to modify the source code of KLEE, and add the monitor module at suitable location for monitoring the process of program executing. For the monitor module, we achieved it according to the Happens-Before and Lockset algorithm.Finally, we test and verify the effectiveness of the two schemes through experiments and analyze the reasons for the results of each experiment. Then according to the analysis, come to the conclusion that instrumentation and KLEE methed all can detect the data race correctly and effectively. In addition, in order to realize the performance of the two schemes, we make a comparison to them. From the result, we obtain that the runtime of instrumentation model is much lower than KLEE model, but KLEE model has a better stability.
Keywords/Search Tags:Data race, Program instrumentation, Timestamp, Dynamic symbolic execution, KLEE
PDF Full Text Request
Related items