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
Link To Document