Get access

A generic static analyzer for multithreaded Java programs


Correspondence to: P. Ferrara, Department of Computer Science, ETH Zurich, Zurich, Switzerland.



In this paper, we present inline imageheckmate, the first generic static analyzer of multithreaded Java programs based on abstract interpretation. inline imageheckmate can be tuned at different levels of precision and efficiency in order to prove various properties (e.g., absence of divisions by zero and data races), and it is sound for multithreaded programs. It supports all the most relevant features of Java multithreading, such as dynamic thread creation, runtime creation of monitors, and dynamic allocation of memory. The experimental results demonstrate that inline imageheckmate is accurate and efficient enough to analyze programs with some thousands of statements and a potentially infinite number of threads. Copyright © 2012 John Wiley & Sons, Ltd.

Get access to the full text of this article