Optimized Sound and Complete Data Race Detection in Structured Parallel Programs

被引:0
|
作者
Storey, Kyle [1 ]
Powell, Jacob [1 ]
Ben Ogles [1 ]
Hooker, Joshua [1 ]
Aldous, Peter [1 ]
Mercer, Eric [1 ]
机构
[1] Brigham Young Univ, Provo, UT 84601 USA
基金
美国国家科学基金会;
关键词
DETERMINISM; CLOCKS;
D O I
10.1007/978-3-030-34627-0_8
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Task parallel programs that are free of data race are guaranteed to be deterministic, serializable, and free of deadlock. Techniques for verification of data race freedom vary in both accuracy and asymptotic complexity. One work is particularly well suited to task parallel programs with isolation and lightweight threads. It uses the Java Pathfinder model checker to reason about different schedules and proves the presence or absence of data race in a program on a fixed input. However, it uses a direct and inefficient transitive closure on the happens-before relation to reason about data race. This paper presents Zipper, an alternative to this na<spacing diaeresis>ive algorithm, which identifies the presence or absence of data race in asymptotically superior time. Zipper is optimized for lightweight threads and, in the presence of many threads, has superior time complexity to leading vector clock algorithms. This paper includes an empirical study of Zipper and a comparison against the naive computation graph algorithm, demonstrating the superior performance it achieves.
引用
收藏
页码:94 / 111
页数:18
相关论文
共 50 条
  • [21] DEBUGGING PARALLEL PROGRAMS USING SOUND
    FRANCIONI, JM
    ALBRIGHT, L
    JACKSON, JA
    [J]. SIGPLAN NOTICES, 1991, 26 (12): : 68 - 75
  • [22] Model-checking task-parallel programs for data-race
    Radha Nakade
    Eric Mercer
    Peter Aldous
    Kyle Storey
    Benjamin Ogles
    Joshua Hooker
    Sheridan Jacob Powell
    Jay McCarthy
    [J]. Innovations in Systems and Software Engineering, 2019, 15 : 289 - 306
  • [23] Model-checking task-parallel programs for data-race
    Nakade, Radha
    Mercer, Eric
    Aldous, Peter
    Storey, Kyle
    Ogles, Benjamin
    Hooker, Joshua
    Powell, Sheridan Jacob
    McCarthy, Jay
    [J]. INNOVATIONS IN SYSTEMS AND SOFTWARE ENGINEERING, 2019, 15 (3-4) : 289 - 306
  • [24] DATA RACE DETECTION BASED ON EXECUTION REPLAY FOR PARALLEL APPLICATIONS
    BERANEK, A
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1992, 634 : 109 - 114
  • [25] RCanalyser: A flexible framework for the detection of data races in parallel programs
    Raza, Aoun
    Vogel, Gunther
    [J]. RELIABLE SOFTWARE TECHNOLOGIES - ADA-EUROPE 2008, 2008, 5026 : 226 - 239
  • [26] Static Data Race Detection for Java Programs With Dynamic Class Loading
    Yoshiura, Noriaki
    Wei, Wei
    [J]. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2014, 8729 : 161 - 173
  • [27] On-the-Fly Data Race Detection for MPI RMA Programs with MUST
    Schwitanski, Simon
    Jenke, Joachim
    Tomski, Felix
    Terboven, Christian
    Mueller, Matthias S.
    [J]. 2022 IEEE/ACM SIXTH INTERNATIONAL WORKSHOP ON SOFTWARE CORRECTNESS FOR HPC APPLICATIONS (CORRECTNESS), 2022, : 27 - 36
  • [28] Scaling Data Race Detection for Partitioned Global Address Space Programs
    Park, Chang-Seo
    Sen, Koushik
    Iancu, Costin
    [J]. ACM SIGPLAN NOTICES, 2013, 48 (08) : 305 - 306
  • [29] Automatic Verification of Determinism for Structured Parallel Programs
    Vechev, Martin
    Yahav, Eran
    Raman, Raghavan
    Sarkar, Vivek
    [J]. STATIC ANALYSIS, 2010, 6337 : 455 - 471
  • [30] Fast and accurate static data-race detection for concurrent programs
    Kahlon, Vineet
    Yang, Yu
    Sankaranarayanan, Sriram
    Gupta, Aarti
    [J]. COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2007, 4590 : 226 - +