Back to Search
Start Over
Atomicity Checking in Linear Time using Vector Clocks
- Source :
- ASPLOS
- Publication Year :
- 2020
- Publisher :
- ACM, 2020.
-
Abstract
- 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. 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. We consider the well studied notion of conflict serializability for dynamically checking atomicity. Existing algorithms detect violations of conflict serializability by detecting cycles in a graph of transactions observed in a given execution. The number of edges in such a graph can grow quadratically with the length of the trace making the analysis not scalable. In this paper, we present AeroDrome, a novel single pass linear time algorithm that uses vector clocks to detect violations of conflict serializability in an online setting. Experiments show that AeroDrome scales to traces with a large number of events with significant speedup.
- Subjects :
- FOS: Computer and information sciences
Atomicity
Computer Science - Programming Languages
Speedup
Computer science
Vector clock
Concurrency
020207 software engineering
02 engineering and technology
Parallel computing
Software Engineering (cs.SE)
Computer Science - Software Engineering
Serializability
020204 information systems
0202 electrical engineering, electronic engineering, information engineering
Dynamic program analysis
Graph (abstract data type)
Time complexity
Computer Science::Databases
Programming Languages (cs.PL)
Subjects
Details
- Database :
- OpenAIRE
- Journal :
- Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems
- Accession number :
- edsair.doi.dedup.....ab783281efdcc5f847dbfd211638133e