基于Petri网的Rust程序并发缺陷自动检测方法

《ACM Transactions on Autonomous and Adaptive Systems》:Petri Nets-based Methods on Automatically Detecting for Concurrency Bugs in Rust Programs

【字体: 大 中 小 】 时间:2026年10月10日 来源:ACM Transactions on Autonomous and Adaptive Systems 5.2

编辑推荐:

   摘要AI 摘要要查看此AI生成的摘要,您需要拥有高级访问权限。了解更多登录摘要摘要Rust 的内存安全保证,尤其是所有权和生命周期系统,推动了它的广泛采用。然而,Rust 程序中仍然存在并发错误,且现有的检测手段存在显著局限:静态分析器存在上下文不敏感和高误报率的问题,而动态

  

摘要

摘要

Rust 的内存安全保证,尤其是所有权和生命周期系统,推动了它的广泛采用。然而,Rust 程序中仍然存在并发错误,且现有的检测手段存在显著局限:静态分析器存在上下文不敏感和高误报率的问题,而动态方法则因指数级路径探索而带来不可接受的运行时开销。本文提出了一种基于 Petri 网的方法,用于从 Rust 编译器生成的中级中间表示(MIR)中检测 Rust 并发错误,仅针对目标错误类别所需的并发相关操作。该方法建立在三大支柱之上:(1) 一种专为目标错误类别设计的语法驱动的程序到 Petri 网的转换;(2) 通过上下文感知切片实现的见证保留状态压缩;(3) 通过高效的 Petri 网可达性分析进行错误检测。
该方法的核心创新在于在 Petri 网结构中对 Rust 同步原语和与所有权相关的资源生命周期进行控制流驱动的建模,将并发相关操作表示为令牌移动。集成的指针分析在转换过程中自动识别别名。在 Rust 并发基准测试上的实验表明,所提出的分析在精度上优于 LockBud,在路径覆盖率或运行时上优于 Miri。与 LockBud 相比,我们的方法通过流敏感的别名感知资源绑定,将误报率降低了 35.7%,漏报率降低了 28.3%。与作为动态分析工具的 Miri 相比,我们的基于可达性的方法避免了重复的调度执行,在多个基准测试案例中显著更快。

AI 摘要

AI 生成的摘要(实验性)

本摘要由自动化工具生成,未经本文作者撰写或审核。它旨在支持发现过程、帮助读者评估相关性,并协助来自相邻研究领域的读者理解本工作。它作为作者提供的摘要的补充,后者仍然是论文的主要摘要。完整文章仍为权威记录版本。点击此处了解更多。

点击此处对本摘要的准确性、清晰度和有用性发表评论。这样做将有助于改进和未来的重新生成版本。

要查看此AI生成的通俗摘要,您需要拥有高级访问权限。

相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号