【24h】

Partial-coherence abstractions for relaxed memory models

机译:宽松内存模型的部分相干抽象

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

摘要

We present an approach for automatic verification and fence inference in concurrent programs running under relaxed memory models. Verification under relaxed memory models is a hard problem. Given a finite state program and a safety specification, verifying that the program satisfies the specification under a sufficiently relaxed memory model is undecidable. For stronger models, the problem is decidable but has non-primitive recursive complexity. In this paper, we focus on models that have store-buffer based semantics, e.g., SPARC TSO and PSO. We use abstract interpretation to provide an effective verification procedure for programs running under this type of models. Our main contribution is a family of novel partial-coherence abstractions, specialized for relaxed memory models, which partially preserve information required for memory coherence and consistency. We use our abstractions to automatically verify programs under relaxed memory models. In addition, when a program violates its specification but can be fixed by adding fences, our approach can automatically infer a correct fence placement that is optimal under the abstraction. We implemented our approach in a tool called BLENDER and applied it to verify and infer fences in several concurrent algorithms.
机译:我们提出了一种在松弛内存模型下运行的并发程序中自动验证和隔离推理的方法。在宽松的内存模型下进行验证是一个难题。在给定有限状态程序和安全规范的情况下,无法确定程序是否在足够宽松的内存模型下满足规范。对于更强的模型,问题是可以确定的,但具有非原始的递归复杂性。在本文中,我们专注于具有基于存储缓冲区语义的模型,例如SPARC TSO和PSO。我们使用抽象解释为在这种类型的模型下运行的程序提供有效的验证程序。我们的主要贡献是一系列新颖的部分相关抽象,专门用于宽松的内存模型,该模型部分保留了内存相关和一致性所需的信息。我们使用抽象来自动验证宽松内存模型下的程序。此外,当程序违反其规范但可以通过添加围栏进行固定时,我们的方法可以自动推断出正确的围栏放置,该放置在抽象下是最佳的。我们在名为BLENDER的工具中实施了该方法,并将其应用于多种并行算法中的验证和推断。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号