arrow
Return

Effective Techniques for Static Race Detection in Java Parallel Loops

delete2015-09-02
delete9
PRE
AI
C
Cosmin Radoi *
D
Danny Dig
DOI:10.1145/2729975delete
deleteOriginal
deleteShare
deleteSave
Abstract

Abstract

En 中文
Despite significant progress in recent years, the important problem of static race detection remains open. Previous techniques took a general approach and looked for races by analyzing the effects induced by low-level concurrency constructs (e.g., java. lang. Thread). But constructs and libraries for expressing parallelism at a higher level (e.g., fork-join, futures, parallel loops) are becoming available in all major programming languages. We claim that specializing an analysis to take advantage of the extra semantic information provided by the use of these constructs and libraries improves precision and scalability. We present ITERACE, a set of techniques that are specialized to use the intrinsic thread, safety, and dataflow structure of collections and of the new loop parallelism mechanism introduced in Java 8. Our evaluation shows that ITERACE is fast and precise enough to be practical. It scales to programs of hundreds of thousands of lines of code and reports very few race warnings, thus avoiding a common pitfall of static analyses. In five out of the seven case studies, ITERACE reported no false warnings. Also, it revealed six bugs in real-world applications. We reported four of them: one had already been fixed, and three were new and the developers confirmed and fixed them. Furthermore, we evaluate the effect of each specialization technique on the running time and precision of the analysis. For each application, we run the analysis under 32 different configurations. This allows to analyze each technique's effect both alone and in all possible combinations with other techniques.
Keywords:
Reliability
Verification
Static race detection
Java
synchronization
static analysis

Journal

A
ACM Transactions on Software Engineering and Methodology
IF:
6.2
Papers:
1.2K
Citations:
3.4K

Organization

U
University of Illinois Urbana-Champaign
Scholars:
2.4W
Papers: 2.0W
Citations: 35
University of Illinois System cover
University of Illinois System
Scholars:
6.9W
Papers: 6.2W
Citations: 644
Cited Papers

Cited Papers

Radiation effects and adrenal cortex
err1971-01-01
err0
PREAI
errKurt Flemming; Josef Hellwig
errShare
errSave
Ultrastructural and functional analyses of nephropathy in calmodulin-induced diabetic transgenic mice
err1997-01-01
err0
errOAAI
errEdward C. Carlson; Janice L. Audette; Leslie M. Klevay; Hugh Nguyen; Paul N. Epstein
errShare
errSave
Predicting Intentions and Condom Use Among Latino College Students
err2002-03-01
err0
PREAI
errLoretta Sweet Jemmott; John B. Jemmott; Antonia M. Villarruel
errShare
errSave
One hundred consecutive laparoscopic pelvic lymph node dissections: Comparing complications of the first 50 cases to the second 50 cases
err1994-08-01
err0
PREAI
errGregory S. Lang; Herbert C. Buckle; H. Roger Hadley; Paul D. Lui; Steven C. Stewart
errShare
errSave
MnSOD marks cord blood late outgrowth endothelial cells and accompanies robust resistance to oxidative stress
err2006-11-01
err0
PREAI
errHao Cai; Peter Gehrig; Thomas M. Scott; Roland Zimmermann; Ralph Schlapbach; Andreas H. Zisch
errShare
errSave
Scalp Current Density Mapping in the Analysis of Mismatch Negativity Paradigms
err2013-10-29
err0
PREAI
errMarie-Hélène Giard; Julien Besle; Pierre-Emmanuel Aguera; Marie Gomot; Olivier Bertrand
errShare
errSave
err
IF0
err
err0
PREAI
err
errShare
errSave
err
IF0
err
err0
PREAI
err
errShare
errSave
researcher View more