Comparing Four Static Analysis Tools for Java Concurrency Bugs
by M.A.A. Mamun, A. Khanam, H. Grahn, and R. Feldt
Static analysis (SA) tools are being used for early detection of software defects. Concurrency bugs are different from bugs in sequential programs, and they are often harder to detect. This paper presents the evaluation of four static analysis tools and their capabilities to detect Java concurrency bugs and bug patterns. The tools, i.e., Coverity Prevent, Jtest, FindBugs, and Jlint, are evaluated using concurrent benchmark programs and a collection of multithreaded bug patterns. In addition, we have categorized the bug pattern detectors of the tools and also identified 87 unique bug patterns from the tools’ detectors and literature.


  author =    "M. A. A. Mamun and A. Khanam and H. Grahn and R. Feldt",
  title =     "Comparing Four Static Analysis Tools for Java Concurrency Bugs",
  year =      "2010",
  booktitle = "Proc. of the Third Swedish Workshop on Multi-Core Computing (MCC-10)",
  pages =     "143-146",
  keywords =  "Static Analysis; Concurrency",
  url =       "",