J. Roemer, K. Genc, and M. Bond. Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation, page 374--389. ACM, (2018)
DOI: 10.1145/3192366.3192385
Abstract
Dynamic program analysis can predict data races knowable from an observed execution, but existing predictive analyses either miss races or cannot analyze full program executions. This paper presents Vindicator, a novel, sound (no false races) predictive approach that finds more data races than existing predictive approaches. Vindicator achieves high coverage by using a new, efficient analysis that finds all possible predictable races but may detect false races. Vindicator ensures soundness using a novel algorithm that checks each potential race to determine whether it is a true predictable race. An evaluation using large Java programs shows that Vindicator finds hard-to-detect predictable races that existing sound predictive analyses miss, at a comparable performance cost.
%0 Conference Paper
%1 Roemer:2018:HUS
%A Roemer, Jake
%A Genc, Kaan
%A Bond, Michael D.
%B Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation
%D 2018
%I ACM
%K Concurrency Java JikesRVM RaceCondition RaceDetection
%P 374--389
%R 10.1145/3192366.3192385
%T High-coverage, Unbounded Sound Predictive Race Detection
%U http://doi.acm.org/10.1145/3192366.3192385
%X Dynamic program analysis can predict data races knowable from an observed execution, but existing predictive analyses either miss races or cannot analyze full program executions. This paper presents Vindicator, a novel, sound (no false races) predictive approach that finds more data races than existing predictive approaches. Vindicator achieves high coverage by using a new, efficient analysis that finds all possible predictable races but may detect false races. Vindicator ensures soundness using a novel algorithm that checks each potential race to determine whether it is a true predictable race. An evaluation using large Java programs shows that Vindicator finds hard-to-detect predictable races that existing sound predictive analyses miss, at a comparable performance cost.
%@ 978-1-4503-5698-5
@inproceedings{Roemer:2018:HUS,
abstract = {Dynamic program analysis can predict data races knowable from an observed execution, but existing predictive analyses either miss races or cannot analyze full program executions. This paper presents Vindicator, a novel, sound (no false races) predictive approach that finds more data races than existing predictive approaches. Vindicator achieves high coverage by using a new, efficient analysis that finds all possible predictable races but may detect false races. Vindicator ensures soundness using a novel algorithm that checks each potential race to determine whether it is a true predictable race. An evaluation using large Java programs shows that Vindicator finds hard-to-detect predictable races that existing sound predictive analyses miss, at a comparable performance cost.},
acmid = {3192385},
added-at = {2018-08-22T14:36:26.000+0200},
author = {Roemer, Jake and Gen\c{c}, Kaan and Bond, Michael D.},
biburl = {https://www.bibsonomy.org/bibtex/2a9ea17eac0b103ac137a5cb8ede81816/gron},
booktitle = {Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation},
description = {High-coverage, unbounded sound predictive race detection},
doi = {10.1145/3192366.3192385},
interhash = {0fc818db1ce39828ca13ab5118e43d05},
intrahash = {a9ea17eac0b103ac137a5cb8ede81816},
isbn = {978-1-4503-5698-5},
keywords = {Concurrency Java JikesRVM RaceCondition RaceDetection},
location = {Philadelphia, PA, USA},
numpages = {16},
pages = {374--389},
publisher = {ACM},
series = {PLDI'18},
timestamp = {2018-08-22T14:36:26.000+0200},
title = {{High-coverage, Unbounded Sound Predictive Race Detection}},
url = {http://doi.acm.org/10.1145/3192366.3192385},
year = 2018
}