Data Race Detection on Compressed Traces
This work addresses data race detection for software developers by enabling faster analysis on compressed traces, though it is incremental as it adapts existing methods to compressed formats.
The paper tackled the problem of detecting data races in program traces compressed using straight-line programs (SLP), presenting algorithms for happens-before and lockset methods that run in linear time relative to the compressed size, with experimental results showing significant speedups compared to uncompressed trace analysis.
We consider the problem of detecting data races in program traces that have been compressed using straight line programs (SLP), which are special context-free grammars that generate exactly one string, namely the trace that they represent. We consider two classical approaches to race detection --- using the happens-before relation and the lockset discipline. We present algorithms for both these methods that run in time that is linear in the size of the compressed, SLP representation. Typical program executions almost always exhibit patterns that lead to significant compression. Thus, our algorithms are expected to result in large speedups when compared with analyzing the uncompressed trace. Our experimental evaluation of these new algorithms on standard benchmarks confirms this observation.