Loading...

Efficient detection and validation of atomicity violations in concurrent programs

Eslamimehr, M ; Sharif University of Technology | 2018

541 Viewed
  1. Type of Document: Article
  2. DOI: 10.1016/j.jss.2017.06.001
  3. Publisher: Elsevier Inc , 2018
  4. Abstract:
  5. Atomicity violations are a major source of bugs in concurrent programs. Empirical studies have shown 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. This article describes two advancements in atomicity violation detection. First, we describe a new technique that directs the execution of a dynamic analysis tool towards three-access pattern (TAP) instances. The directed search is based on constraint solving and concolic execution. We implemented this technique in a tool called AtomChase. Using 27 benchmarks comprising 5.4 million lines of Java, we compared AtomChase to five other tools. AtomChase found 20% more TAP instances than all five tools combined. Second, we show that not all TAP instances are atomicity violations and present a formally grounded approach to validating the non-atomicity of TAP instances. This approach, called HyperCV, prevents the inclusion of false positives in results presented to users. HyperCV uses a set of provably sufficient conditions for non-atomicity to efficiently validate TAP instances. Using the same benchmarks, HyperCV validated 79% of TAP instances in linear rather than exponential execution time. © 2017 Elsevier Inc
  6. Keywords:
  7. Atomicity violation ; Three-access pattern ; Software testing ; Access patterns ; Atomicity violations ; Concolic execution ; Concurrency ; Concurrent program ; Constraint Solving ; Dynamic analysis tools ; Efficient detection ; Program debugging
  8. Source: Journal of Systems and Software ; Volume 137 , 2018 , Pages 618-635 ; 01641212 (ISSN)
  9. URL: https://www.sciencedirect.com/science/article/pii/S0164121217301085