首页> 外文期刊>Journal of supercomputing >Detecting semantic violations of lock-free data structures through C++ contracts
【24h】

Detecting semantic violations of lock-free data structures through C++ contracts

机译:通过C ++合同检测语义违反无锁数据结构的

获取原文
获取原文并翻译 | 示例

摘要

The use of synchronization mechanisms in multithreaded applications is essential on shared-memory multi-core architectures. However, debugging parallel applications to avoid potential failures, such as data races or deadlocks, can be challenging. Race detectors are key to spot such concurrency bugs; nevertheless, if lock-free data structures are used, these may emit a significant number of false positives. In this paper, we present a framework for semantic violation detection of lock-free data structures which makes use of contracts, a novel feature of the upcoming C++20, and a customized version of the ThreadSanitizer race detector. We evaluate the detection accuracy of the framework in terms of false positives and false negatives leveraging some synthetic benchmarks which make use of the SPSC and MPMC lock-free queue structures from the Boost C++ library. Thanks to this framework, we are able to check the correct use of lock-free data structures, thus reducing the number of false positives.
机译:在多线程应用程序中使用同步机制对于共享内存多核架构至关重要。但是,调试并行应用程序以避免潜在的失败,例如数据种族或死锁,可能是具有挑战性的。种族探测器是现场购买此类并发漏洞的关键;然而,如果使用无锁数据结构,这些可能会发出大量的误报。在本文中,我们介绍了一种语义违规检测的框架,可以使用合同,即即将推出的C ++ 20的新颖特征以及ThreadSanitizer RACE探测器的自定义版本。我们在误报和虚假否定方面评估框架的检测准确性,利用一些合成基准,从而利用来自Boost C ++库的SPSC和MPMC锁定队列结构。由于此框架,我们能够检查正确使用锁无锁数据结构,从而减少了误报的数量。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号