【24h】

Pushdown Flow Analysis of First-Class Control

机译:一流控制的下推流分析

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

摘要

Pushdown models are better than control-flow graphs for higher-order flow analysis. They faithfully model the call/return structure of a program, which results in fewer spurious flows and increased precision. However, pushdown models require that calls and returns in the analyzed program nest properly. As a result, they cannot be used to analyze language constructs that break call/return nesting such as generators, coroutines, call/cc, etc. In this paper, we extend the CFA2 flow analysis to create the first pushdown flow analysis for languages with first-class control. We modify the abstract semantics of CFA2 to allow continuations to escape to, and be restored from, the heap. We then present a summarization algorithm that handles escaping continuations via a new kind of summary edge. We prove that the algorithm is sound with respect to the abstract semantics.
机译:对于高阶流分析,下推模型比控制流图更好。他们忠实地模拟了程序的调用/返回结构,从而减少了杂散流并提高了精度。但是,下推模型要求被分析程序中的调用和返回正确嵌套。结果,它们不能用于分析破坏调用/返回嵌套的语言结构,例如生成器,协程,调用/ cc等。在本文中,我们扩展了CFA2流分析,以创建具有以下特征的第一个下推流分析:一流的控制。我们修改了CFA2的抽象语义,以允许延续逃逸到堆并从堆中恢复。然后,我们提出一种摘要算法,该算法通过一种新型的摘要边来处理转义连续。我们证明该算法在抽象语义方面是合理的。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号