首页> 外文会议>POPL 2004: The 31st ACM SIGPLAN-SIGACT symposium on principles of programming languages >Simple relational correctness proofs for static analyses and program transformations
【24h】

Simple relational correctness proofs for static analyses and program transformations

机译:用于静态分析和程序转换的简单关系正确性证明

获取原文

摘要

We show how some classical static analyses for imperative programs, and the optimizing transformations which they enable, may be expressed and proved correct using elementary logical and denotationaltechniques. The key ingredients are an interpretation of program properties as relations, rather than predicates, and a realization that although many program analyses are traditionally formulated in very intensional terms, the associated transformations are actually enabled by more liberal extensional properties.We illustrate our approach with formal systems for analysing and transforming while-programs. The first is a simple type system which tracks constancy and dependency information and can be used to perform dead-code elimination, constant propagation and program slicing as well as capturing a form of secure information flow. The second is a relational version of Hoare logic, which significantly generalizes our first type system and can also justify optimizations including hoisting loop invariants. Finally we show how a simple available expression analysis and redundancy elimination transformation may be justified by translation into relational Hoare logic.
机译:我们展示了如何使用基本逻辑和指称技术来表达和证明命令式程序的一些经典静态分析以及它们所实现的优化转换,并证明它们是正确的。关键要素是将程序属性解释为关系而不是谓词,并意识到尽管传统上许多程序分析都是以非常严格的术语来表述的,但相关的转换实际上是由更自由的扩展属性实现的。用于分析和转换While程序的系统。第一种是简单类型的系统,该系统跟踪恒定性和相关性信息,可用于执行死代码消除,恒定传播和程序切片以及捕获安全信息流的形式。第二个是Hoare逻辑的关系版本,该版本显着地概括了我们的第一类系统,并且还可以证明包括提升循环不变式在内的优化是合理的。最后,我们展示了如何通过转换为关系Hoare逻辑来证明简单的可用表达式分析和冗余消除转换是合理的。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号