• DocumentCode
    2569302
  • Title

    Effective Static Analysis to Find Concurrency Bugs in Java

  • Author

    Zhi Da Luo ; Hillis, Linda ; Das, Raja ; Qi, Yao

  • Author_Institution
    IBM China Dev. Lab., Beijing, China
  • fYear
    2010
  • fDate
    12-13 Sept. 2010
  • Firstpage
    135
  • Lastpage
    144
  • Abstract
    Multithreading and concurrency are core features of the Java language. However, writing a correct concurrent program is notoriously difficult and error prone. Therefore, developing effective techniques to find concurrency bugs is very important. Existing static analysis techniques for finding concurrency bugs either sacrifice precision for performance, leading to many false positives, or require sophisticated analysis that incur significant overhead. In this paper, we present a precise and efficient static concurrency bugs detector building upon the Eclipse JDT and the open source WALA toolkit (which provides advanced static analysis capabilities). Our detector uses different implementation strategies to consider different types of concurrency bugs. We either utilize JDT to syntactically examine source code, or leverage WALA to perform interprocedural data flow analysis. We describe a variety of novel heuristics and enhancements to existing analysis techniques which make our detector more practical, in terms of accuracy and performance. We also present an effective approach to create inter-procedural data flow analysis using WALA for complex analysis. Finally we justify our claims by presenting the results of applying our detector to a range of real-world applications and comparing our detector with other tools.
  • Keywords
    Java; concurrency control; data analysis; multi-threading; Eclipse JDT; Java development tool; Java language; WALA toolkit; concurrency bugs; interprocedural data flow analysis; multi-threading; static analysis technique; Computer bugs; Concurrent computing; Detectors; Instruction sets; Java; Monitoring; Synchronization; bug pattern; concurrency; multithread; static analysis;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Source Code Analysis and Manipulation (SCAM), 2010 10th IEEE Working Conference on
  • Conference_Location
    Timisoara
  • Print_ISBN
    978-1-4244-8655-7
  • Type

    conf

  • DOI
    10.1109/SCAM.2010.20
  • Filename
    5601820