Abstract

Data races have become one of the severe issues affecting the correctness of concurrent programs. Existing detection tools for data races have many false positives and false negatives. To improve the correctness, this paper proposes a context-sensitive approach to detect data races in concurrent programs. Several program analysis techniques are conducted to reduce false positives and false negatives. First, control-flow analysis is used to construct call graphs, in which escape analysis is employed to find escaped objects among threads. Second, context-sensitive alias analysis is employed to find alias objects. Finally, happens-before analysis is conducted to reduce false positives and false negatives. We develop a prototype tool ConRacer based on WALA and evaluate it on several benchmarks. We also compare ConRacer with existing static and dynamic tools. The experimental results show that ConRacer can effectively detect data races and reduce false positives and false negatives.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call