【24h】

Proof Obligations Preserving Compilation

机译:保留汇编的证明义务

获取原文

摘要

The objective of this work is to study the interaction between program verification and program compilation, and to show that the proof that a source program meets its specification can be reused to show that the corresponding compiled program meets the same specification. More concretely, we introduce a core imperative language, and a bytecode language for a stack-based abstract machine, and a non-optimizing compiler. Then we consider for both languages verification condition generators that operate on programs annotated with loop invariants and procedure specifications. In such a setting, we show that compilation preserves proof obligations, in the sense that the proof obligations generated for the source annotated program are the same that those generated for the compiled annotated program (using the same loop invariants and procedure specifications). Furthermore, we discuss the relevance of our results to Proof Carrying Code.
机译:这项工作的目的是研究程序验证和程序编译之间的交互,并显示源程序符合其规范的证明可以重复使用,以显示相应的编译程序符合相同的规范。更具体地说,我们介绍了一种核心命令语言,以及基于堆栈的抽象机器的字节码语言,以及非优化编译器。然后,我们考虑两种语言验证条件发生器,该发生器在用循环不变的程序和过程规范注释的程序上运行。在这样的设置中,我们显示编译保留证明义务,因为源注释程序所生成的证明义务与编译的注释程序生成的义务相同(使用相同的循环不变和程序规范)。此外,我们讨论了我们对证据承载代码的结果的相关性。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号