Program verification is to develop the program's proof system, and to prove the proof system soundness with respect to a trusted operational semantics of the program. However, many practical program verifiers are not based on operational semantics and can't seriously validate the program. Matching logic is proposed to make program verification based on operational semantics. In this paper, following Grigore Ro{\c{s}}u 's work, we consider matching logic for parallel imperative language(PIMP). According to our investigation, this paper is the first study on matching logic for PIMP. In our matching logic, we redefine "interference-free" to character parallel rule and prove the soundness of matching logic to the operational semantics of PIMP. We also link PIMP's operational semantics and PIMP's verification formally by constructing a matching logic verifier for PIMP which executes rewriting logic semantics symbolically on configuration patterns and is sound and complete to matching logic for PIMP. That is our matching logic verifier for PIMP is sound to the operational semantics of PIMP. Finally, we also verify the matching logic verifier through an example which is a standard problem in parallel programming.
翻译:程序校验的目的是开发程序校验系统, 并证明验证系统对程序可靠操作语义的正确性。 然而, 许多实用程序校验器并非基于操作语义, 无法对程序进行认真验证。 匹配逻辑是提出根据操作语义进行程序核查的。 在本文中, 我们考虑在 Grigore Ro {c{s ⁇ u'u 的工作之后, 匹配平行迫切语言( PIMP) 的逻辑 。 根据我们的调查, 本文是对匹配 PIMP 逻辑的首次研究。 在我们的匹配逻辑中, 我们重新定义“ 不受干扰” 为字符平行规则, 并证明匹配逻辑对 PIMP 操作语义的正确性。 我们还将 PIMP 的操作语义和 PIMP 校验正式连接起来, 为 PIMP 构建一个匹配逻辑校验器, 在配置模式上以象征性的方式重新写逻辑语义, 并且与 PIMP 的逻辑校验符合逻辑。 这是我们的匹配逻辑校验PIMP 与 PIMP 的操作语义学中的例子。