2009 Seventh IEEE International Conference on Software Engineering and Formal Methods 2009
DOI: 10.1109/sefm.2009.20
|View full text |Cite
|
Sign up to set email alerts
|

Checkmate: A Generic Static Analyzer of Java Multithreaded Programs

Abstract: Abstract-In this paper we present ¼heckmate, a generic static analyzer of Java multithreaded programs based on the abstract interpretation theory. It supports all the most relevant features of Java multithreading, as dynamic unbounded thread creation, runtime creation of monitors, and dynamic allocation of shared memory. We implement a wide set of properties, from the ones interesting also for sequential programs, e.g. division by zero, to the ones typical of multithtreaded programs, e.g. data races. We analyz… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
4
0

Year Published

2010
2010
2019
2019

Publication Types

Select...
4
1

Relationship

2
3

Authors

Journals

citations
Cited by 7 publications
(4 citation statements)
references
References 36 publications
(32 reference statements)
0
4
0
Order By: Relevance
“…Ferrara et. al [37] proposes a generic static analyzer called Checkmate designed for multithreaded Java programs. It is based on the abstract interpretation theory and is tuned at the bytecode level so that it can analyze external libraries as well as programs written in languages like Scala that compile to Java bytecode.…”
Section: F Multithreaded Synchronizationmentioning
confidence: 99%
“…Ferrara et. al [37] proposes a generic static analyzer called Checkmate designed for multithreaded Java programs. It is based on the abstract interpretation theory and is tuned at the bytecode level so that it can analyze external libraries as well as programs written in languages like Scala that compile to Java bytecode.…”
Section: F Multithreaded Synchronizationmentioning
confidence: 99%
“…There are many works aiming at the static analysis of concurrent programs. Some of them use the abstract interpretation theory, but either they do not allow dynamic process creation [13] and/or use a different memory model [8] or do not consider numerical properties [7]. In [15], the authors defined symbolic transducers but they did not consider to raise it to the verification of concurrent programs.…”
Section: : Bad Configurationsmentioning
confidence: 99%
“…In particular, this theory allows one to define a compositional analysis, e.g., an analysis that can be instantiated with different numerical domains, and in order to analyze different properties. Many different generic analyzers have been proposed recently [15,19,25]. The type analysis we present in this paper has been implemented in Sample (Static Analyzer of Multiple Programming LanguagEs).…”
Section: Abstract Interpretationmentioning
confidence: 99%