Artifact for "Atomicity Checking in Linear Time using Vector Clocks"
收藏资源简介:
Multi-threaded programs are challenging to write. Developers often need to reason about a prohibitively large number of thread interleavings to reason about the behavior of software.<br> A non-interference property like atomicity can reduce this interleaving space by ensuring that any execution is equivalent to an execution where all atomic blocks are executed serially.<br> We consider the well studied notion of conflict serializability for dynamically checking atomicity.<br> Existing algorithms detect violations of conflict serializability by detecting cycles in a graph of transactions observed in a given execution.<br> The size of such a graph can be as large as the size of the trace making the analysis not scalable.<br> In this paper, we present AeroDrome, a novel single pass linear time algorithm that detects violations of conflict serializability using vector clocks. Experiments show that AeroDrome scales to traces with a large number of events with significant speedup.



