DocumentCode
3730209
Title
AtomChase: Directed search towards atomicity violations
Author
Mahdi Eslamimehr;Mohsen Lesani
Author_Institution
Viewpoints Research Institute
fYear
2015
Firstpage
12
Lastpage
23
Abstract
Atomicity violation is one of the main sources of concurrency bugs. Empirical studies show that the majority of atomicity violations are instances of the three-access pattern, where two accesses to a shared variable by a thread are interleaved by an access to the same variable by another thread. We present a novel approach to atomicity violation detection that directs the execution towards three-access candidates. The directed search technique comprises two parts: execution schedule synthesis and directed concurrent execution that are based on constraint solving and concolic execution. We have implemented this technique in a tool called AtomChase. In comparison to five previous tools on 22 benchmarks with 4.5 million lines of Java code, AtomChase increased the number of three-access violations found by 24%. To prevent reporting false alarms, we confirm the non-atomicity of the found execution traces. We present and prove sufficient conditions for non-atomicity of traces with the three-access pattern. The conditions could recognize the majority of 89% of the real atomicity violations found by AtomChase. Checking these conditions is more than an order of magnitude faster than the exhaustive check.
Keywords
"Message systems","Computer bugs","Synthesizers","Concurrent computing","Synchronization","Benchmark testing","Java"
Publisher
ieee
Conference_Titel
Software Reliability Engineering (ISSRE), 2015 IEEE 26th International Symposium on
Type
conf
DOI
10.1109/ISSRE.2015.7381795
Filename
7381795
Link To Document