Files in this item



application/pdfmain.pdf (500kB)
(no description provided)PDF


Title:Practical Static Race Detection for Java Parallel Loops
Author(s):Radoi, Cosmin; Dig, Danny
Subject(s):race detection
Abstract: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 con- structs (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 ma- jor programming languages. We claim that specializing an analysis to take advantage of the extra semantic informa- tion provided by the use of these constructs and libraries improves precision and scalability. We present IteRace, a set of techniques that are special- ized to use the intrinsic thread, safety, and data-flow struc- ture of collections and of the new loop-parallelism mecha- nism to be introduced in Java8. 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 it reports few race warnings, thus avoiding a common pitfall of static analyses. The tool revealed six bugs in real-world ap- plications. We reported four of them, one had already been fixed, and three were new and the developers confirmed and fixed them.
Issue Date:2013-02-05
Genre:Technical Report
Publication Status:unpublished
Peer Reviewed:not peer reviewed
Date Available in IDEALS:2013-02-06

This item appears in the following Collection(s)

Item Statistics