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 条
  • [41] From Concurrent Multi-clock Programs to Deterministic Asynchronous Implementations
    Potop-Butucaru, Dumitru
    de Simone, Robert
    Sorel, Yves
    Talpin, Jean-Pierre
    [J]. NINTH INTERNATIONAL CONFERENCE ON APPLICATION OF CONCURRENCY TO SYSTEM DESIGN, PROCEEDINGS, 2009, : 42 - 51
  • [42] Data Provenance Tracking for Concurrent Programs
    Lucia, Brandon
    Ceze, Luis
    [J]. 2015 IEEE/ACM INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION (CGO), 2015, : 146 - 156
  • [43] OpenMP aware MHP Analysis for Improved Static Data-Race Detection
    Bora, Utpal
    Vaishay, Shraiysh
    Joshi, Saurabh
    Upadrasta, Ramakrishna
    [J]. PROCEEDINGS OF THE SEVENTH ANNUAL WORKSHOP ON THE LLVM COMPILER INFRASTRUCTURE IN HPC (LLVM-HPC2021), 2021, : 1 - 11
  • [44] Static Detection of Race Conditions in Erlang
    Christakis, Maria
    Sagonas, Konstantinos
    [J]. PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES, PROCEEDINGS, 2010, 5937 : 119 - 133
  • [45] RACERD: Compositional Static Race Detection
    Blackshear, Sam
    Gorogiannis, Nikos
    O'Hearn, Peter W.
    Sergey, Ilya
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2018, 2 (02):
  • [46] Random forest instruction level detection model for data race in multithreaded programs
    Sun, Jiaze
    Yang, Jiawei
    Yang, Zijiang
    [J]. Qinghua Daxue Xuebao/Journal of Tsinghua University, 2020, 60 (10): : 804 - 813
  • [47] Efficient on-the-fly data race detection in multithreaded C++ programs
    Pozniansky, E
    Schuster, A
    [J]. ACM SIGPLAN NOTICES, 2003, 38 (10) : 178 - 189
  • [48] Data-Flow Implementation of Concurrent Asynchronous Systems
    Gebali, Fayez
    Alzahrani, Ali
    [J]. 2017 IEEE PACIFIC RIM CONFERENCE ON COMMUNICATIONS, COMPUTERS AND SIGNAL PROCESSING (PACRIM), 2017,
  • [49] Model checking of concurrent programs with static analysis of field accesses
    Parizek, Pavel
    Lhotak, Ondrej
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2015, 98 : 735 - 763
  • [50] A practical application of geometric semantics to static analysis of concurrent programs
    Goubault, E
    Haucourt, E
    [J]. CONCUR 2005 - CONCURRENCY THEORY, PROCEEDINGS, 2005, 3653 : 503 - 517