首页> 外文会议>International Symposium on Formal Methods >A Wide-Spectrum Language for Verification of Programs on Weak Memory Models
【24h】

A Wide-Spectrum Language for Verification of Programs on Weak Memory Models

机译:一种广谱语言,用于验证弱存储器模型上的程序

获取原文

摘要

Modern processors deploy a variety of weak memory models, which for efficiency reasons may (appear to) execute instructions in an order different to that specified by the program text. The consequences of instruction reordering can be complex and subtle, and can impact on ensuring correctness. Previous work on the semantics of weak memory models has focussed on the behaviour of assembler-level programs. In this paper we utilise that work to extract some general principles underlying instruction reordering, and apply those principles to a wide-spectrum language encompassing abstract data types as well as low-level assembler code. The goal is to support reasoning about implementations of data structures for modern processors with respect to an abstract specification. Specifically, we encode a weak memory model in a pair-wise reordering relation on instructions. Some architectures require an additional definition of the behaviour of the global storage system if it does not provide multi-copy atomicity. In this paper we use the reordering relation in an operational semantics. We derive some properties of program refinement under weak memory models, and encode the semantics in the rewriting engine Maude as a model-checking tool. The tool is used to validate the semantics against the behaviour of a set of litmus tests (small assembler programs) run on hardware, and also to model check implementations of data structures from the literature against their abstract specifications.
机译:现代处理器部署各种弱存储器模型,以效率原因可能(似乎)以不同于程序文本指定的订单执行指令。指令重新排序的后果可能是复杂和微妙的,并且可以影响确保正确性。以前关于弱存储器模型的语义的工作侧重于汇编程序级程序的行为。在本文中,我们利用该工作来提取潜在的指令重新排序的一些一般原则,并将这些原则应用于包含抽象数据类型以及低级汇编程序代码的广泛语言。目标是支持关于抽象规范的现代处理器数据结构的实现的推理。具体地,我们在指令的一对重新排序关系中编码弱存储模型。某些架构需要额外的定义全局存储系统的行为,如果它不提供多拷贝原子性。在本文中,我们使用操作语义中的重新排序关系。我们在弱存储器模型下派生了程序细化的一些属性,并将重写引擎MAUDE中的语义编码为模型检查工具。该工具用于验证针对在硬件上运行的一组LITMUS测试(小汇编程序程序)的行为的语义,也可以根据其抽象规范从文献中的数据结构的实现。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号