LOFT: Redundant Synchronization Event Removal for Data Race Detection

Yan Cai, W.K. Chan
2011 2011 IEEE 22nd International Symposium on Software Reliability Engineering  
Many happens-before based techniques for multithreaded programs implement vector clocks to track incrementally the causal relations among the synchronization operations acting on threads and locks. In these detectors, every such operation results in a vector-based assignment to a vector clock, even though the assigned value is the same as the value of the vector clock right before the assignment. The cost of such vector-based operations however grows with the number of threads and the amount of
more » ... such operations. It is unclear to what extent redundant assignments can be removed. Whether two consecutive assignments to the same vector clock of a thread result in the same content critically depends on the operations on the locks occurred in between these assignments. In this paper, we systematically explore the said insight and quantify a sufficient condition that can soundly remove such operations without affecting the precision of such tracking. We applied our approach on FastTrack to formulate LOFT. We evaluate LOFT using the PARSEC benchmarking suite. The result shows that, on average, LOFT removes 58.0% of all such operations incurred by FastTrack, and runs 16.2% faster than the latter in tracking the causal relations among these operations.
doi:10.1109/issre.2011.12 dblp:conf/issre/CaiC11 fatcat:coelaxqf45gefnz7ppc27lybtq