跳到主要导航 跳到搜索 跳到主要内容

Specifying and Verifying Programs Over the MCA ARMv8 Architecture with TLA+

  • Lili Xiao
  • , Zhiru Hou
  • , Huibiao Zhu*
  • , Mengda He
  • , Shengchao Qin
  • *此作品的通讯作者
  • Donghua University
  • East China Normal University
  • Teesside University

科研成果: 期刊稿件 › 文献综述 › 同行评审

摘要

Modern hardware architectures and mainstream programming languages employ relaxed memory models for efficiency purposes. However, these memory models may bring in many behaviors which do not adhere to people’s intuition. In addition, different relaxed memory models produce different relaxed behaviors. The existing facts make the verification of the multi-threaded programs running against these models more difficult. In this paper, we are committed to proposing a general framework for modeling and verifying programs over various relaxed memory models, and we take the MCA ARMv8 architecture as an example. This architecture allows out-of-order execution through thread-local out-of-order, speculative execution and thread-local buffering. Above all, through analyzing the dependencies among statements, any program under MCA ARMv8 is translated into a unified form, which has the ability to describe each program under various memory models. Then, we model the translated programs with the formal specification language TLA+, and verify three properties, namely Reordering, Read-after-write elimination and Barriers, by the model checker TLC. Our verification results indicate that these properties align with the specification of MCA ARMv8. This not only validates the effectiveness of our method but also provides a more consistent approach for ensuring program correctness across a wide range of memory models.

源语言英语
期刊论文编号2530008
期刊Journal of Circuits, Systems and Computers
卷35
期1
DOI
出版状态已出版 - 15 1月 2026

学术指纹

探究 'Specifying and Verifying Programs Over the MCA ARMv8 Architecture with TLA+' 的科研主题。它们共同构成独一无二的学术指纹。

引用此