Static Data Race Detection for Concurrent Programs with Asynchronous Calls

被引:45
|
作者
Kahlon, Vineet [1 ]
Sinha, Nishant [1 ]
Kruus, Erik [1 ]
Zhang, Yun
机构
[1] NEC Labs, Princeton, NJ USA
关键词
Asynchronous Programs; Bootstrapping; Static Data Race Detection; Pointer analysis;
D O I
10.1145/1595696.1595701
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A large number of industrial concurrent programs are being designed based on a model which combines threads with event-based communication. These programs consist of several threads which perform computation by dispatching tasks to other threads via asynchronous function calls. These asynchronous function calls are implemented using function objects, which are essentially wrappers containing a pointer to the function that should be executed on a particular thread with the corresponding arguments. In many cases, the arguments, in turn, contain function objects which serve as callbacks. Verifying such programs which involves reasoning about complex concurrency constructs comprising function pointers and callback functions is extremely tricky especially in the presence of recursion. In this paper, we present a fast and accurate static data race detection technique for multi-threaded C programs with asynchronous function calls and demonstrate its application to real-life software.
引用
收藏
页码:13 / 22
页数:10
相关论文
共 50 条
  • [1] Static analysis for concurrent programs with applications to data race detection
    Kahlon V.
    Sankaranarayanan S.
    Gupta A.
    [J]. International Journal on Software Tools for Technology Transfer, 2013, 15 (4) : 321 - 336
  • [2] 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 - +
  • [3] Context-Sensitive Data Race Detection for Concurrent Programs
    Zhang, Yang
    Liu, Huan
    Qiao, Liu
    [J]. IEEE ACCESS, 2021, 9 : 20861 - 20867
  • [4] Static Race Detection for Periodic Programs
    Suresh, Varsha P.
    Pai, Rekha
    D'Souza, Deepak
    D'Souza, Meenakshi
    Chakrabarti, Sujit Kumar
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, ESOP 2022, 2022, 13240 : 290 - 316
  • [5] Data-Race-Freedom of Concurrent Programs
    Barnett, Granville
    Qin, Shengchao
    [J]. 2013 20TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2013), VOL 1, 2013, : 272 - 279
  • [6] Static Deadlock Detection for Asynchronous C# Programs
    Santhiar, Anirudh
    Kanade, Aditya
    [J]. ACM SIGPLAN NOTICES, 2017, 52 (06) : 292 - 305
  • [7] Static Data Race Detection in Multi-task Programs for Industrial Robots
    Ashraf, Ameena K.
    D'Souza, Meenakshi
    [J]. DISTRIBUTED COMPUTING AND INTELLIGENT TECHNOLOGY, ICDCIT 2023, 2023, 13776 : 51 - 66
  • [8] Verification of concurrent objects with asynchronous method calls
    Dovland, J
    Johnsen, EB
    Owe, O
    [J]. IEEE INTERNATIONAL CONFERENCE ON SOFTWARE - SCIENCE, TECHNOLOGY AND ENGINEERING, PROCEEDINGS, 2005, : 141 - 150
  • [9] An Extended Polyhedral Model for SPMD Programs and Its Use in Static Data Race Detection
    Chatarasi, Prasanth
    Shirako, Jun
    Kong, Martin
    Sarkar, Vivek
    [J]. LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, LCPC 2016, 2017, 10136 : 106 - 120
  • [10] Towards Incremental Static Race Detection in OpenMP Programs
    Swain, Bradley
    Huang, Jeff
    [J]. PROCEEDINGS OF CORRECTNESS 2018: 2ND IEEE/ACM INTERNATIONAL WORKSHOP ON SOFTWARE CORRECTNESS FOR HPC APPLICATIONS, 2018, : 33 - 41