A generic static analyzer for multithreaded Java programs

SUMMARYIn this paper, we present Checkmate, the first generic static analyzer of multithreaded Java programs based on interpretation. Checkmate 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 i...

Full description

Saved in:
Bibliographic Details
Published inSoftware, practice & experience Vol. 43; no. 6; pp. 663 - 684
Main Author Ferrara, P.
Format Journal Article
LanguageEnglish
Published Bognor Regis Blackwell Publishing Ltd 01.06.2013
Wiley Subscription Services, Inc
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:SUMMARYIn this paper, we present Checkmate, the first generic static analyzer of multithreaded Java programs based on interpretation. Checkmate 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 Checkmate 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.
Bibliography:istex:81E852B3AB673A8588460E7C950F866299E6A35D
ark:/67375/WNG-MBPH92TS-D
ArticleID:SPE2126
ObjectType-Article-2
SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 23
ISSN:0038-0644
1097-024X
DOI:10.1002/spe.2126