【24h】

A Kripke Logical Relation Between ML and Assembly

机译:ML和组装之间的Kripke逻辑关系

获取原文

摘要

There has recently been great progress in proving the correctness of compilers for increasingly realistic languages with increasingly realistic runtime systems. Most work on this problem has focused on proving the correctness of a particular compiler, leaving open the question of how to verify the correctness of assembly code that is hand-optimized or linked together from the output of multiple compilers. This has led Benton and other researchers to propose more abstract, compositional notions of when a low-level program correctly realizes a high-level one. However, the state of the art in so-called "compositional compiler correctness" has only considered relatively simple high-level and low-level languages. In this paper, we propose a novel, extensional, compiler-independent notion of equivalence between high-level programs in an expressive, impure ML-like A-calculus and low-level programs in an (only slightly) idealized assembly language. We define this equivalence by means of a biorthogonal, step-indexed, Kripke logical relation, which enables us to reason quite flexibly about assembly code that uses local state in a different manner than the high-level code it implements (e.g., self-modifying code). In contrast to prior work, we factor our relation in a symmetric, language-generic fashion, which helps to simplify and clarify the formal presentation, and we also show how to account for the presence of a garbage collector. Our approach relies on recent developments in Kripke logical relations for ML-like languages, in particular the idea of possible worlds as state transition systems.
机译:最近在越来越逼真的运行时系统证明了越来越现实的制定语言的编译器的正确性,最近进展了很大进展。大多数关于此问题的工作都集中在证明特定编译器的正确性,留下了如何验证汇编代码的正确性,这些问题可以从多个编译器的输出中掌握在一起或链接在一起。这使得Benton和其他研究人员提出了更多的抽象,当低级程序正确实现高级时的组成概念。然而,所谓的“组成编译器正确性”中的最新技术仅考虑了相对简单的高级和低级语言。在本文中,我们提出了一种新颖的,扩展的,编译的同学的高级节目之间的等价概念,在富有表现力的毫不逊色的ML类似的A-微积分和低级节目中(仅略微)的汇编语言。我们通过双正交,逐步索引,kripke逻辑关系来定义此等价,这使我们能够非常灵活地了解使用与它实现的高级代码不同的汇编代码(例如,自修改代码)。与事先工作相比,我们以对称的语言通用方式为我们的关系,有助于简化和澄清正式的演示,我们还展示了如何占垃圾收集器的存在。我们的方法依赖于Kripke逻辑关系的ML类似逻辑关系的发展,特别是可能世界成为国家过渡系统的想法。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号