• 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