【24h】

Static data race detection for concurrent programs with asynchronous calls

机译:带有异步调用的并发程序的静态数据竞争检测

获取原文

摘要

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.
机译:基于将线程与基于事件的通信相结合的模型,正在设计大量的工业并发程序。这些程序由几个线程组成,这些线程通过异步函数调用将任务分配给其他线程来执行计算。这些异步函数调用是使用函数对象实现的,这些函数对象实质上是包装,其中包含指向应在具有相应参数的特定线程上执行的功能的指针。在许多情况下,参数又包含用作回调的函数对象。验证涉及复杂并发结构(包括函数指针和回调函数)的推理的程序非常棘手,尤其是在存在递归的情况下。在本文中,我们提出了一种用于异步函数调用的多线程C程序的快速,准确的静态数据竞争检测技术,并演示了其在实际软件中的应用。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号