【24h】

Bidirectional data-flow analyses, type-systematically

机译:系统类型的双向数据流分析

获取原文
获取原文并翻译 | 示例

摘要

We show that a wide class of bidirectional data-flow analyses and program optimizations based on them admit declarative descriptions in the form of type systems. The salient feature is a clear separation between what constitutes a valid analysis and how the strongest one can be computed (via the type checking versus principal type inference distinction). The approach also facilitates elegant relational semantic soundness definitions and proofs for analyses and optimizations, with an application to mechanical transformation of program proofs, useful in proof-carrying code. Unidirectional forward and backward analyses are covered as special cases; the technicalities in the general bidirectional case arise from more subtle notions of valid and principal types. To demonstrate the viability of the approach we consider two examples that are inherently bidirectional: type inference (seen as a data-flow problem) for a structured language where the type of a variable may change over a program's run andthe analysis underlying a stack usage optimization for a stack-based low-level language.
机译:我们展示了各种各样的双向数据流分析和基于它们的程序优化都接受了类型系统形式的声明性描述。显着特征是在构成有效分析的内容与如何计算最强分析之间(通过类型检查与主体类型推断的区别)之间的清晰区分。该方法还促进了优雅的关系语义健全性定义和证明,以进行分析和优化,并将其应用到程序证明的机械转换中,这在携带证明的代码中很有用。单向向前和向后分析作为特殊情况包括在内;一般双向情况下的技术性来自有效和主体类型的更微妙的概念。为了证明该方法的可行性,我们考虑了两个固有的双向示例:结构化语言的类型推断(视为数据流问题),其中变量的类型可能会随着程序的运行而发生变化,而堆栈使用优化的基础是分析用于基于堆栈的低级语言。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号