首页> 外文会议>ACM SIGPLAN Conference on Programming Language Design and Implementation >Fast Algorithms for Dyck-CFL-Reachability with Applications to Alias Analysis
【24h】

Fast Algorithms for Dyck-CFL-Reachability with Applications to Alias Analysis

机译:Dyck-CFL可达性的快速算法与应用到别名分析

获取原文

摘要

The context-free language (CFL) reachability problem is a well-known fundamental formulation in program analysis. In practice, many program analyses, especially pointer analyses, adopt a restricted version of CFL-reachability, Dyck-CFL-reachability, and compute on edge-labeled bidirected graphs. Solving the all-pairs Dyck-CFL-reachability on such bidirected graphs is expensive. For a bidirected graph with n nodes and m edges, the traditional dynamic programming style algorithm exhibits a subcubic time complexity for the Dyck language with k kinds of parentheses. When the underlying graphs are restricted to bidirected trees, an algorithm with O(n log n log k) time complexity was proposed recently. This paper studies the Dyck-CFL-reachability problems on bidirected trees and graphs. In particular, it presents two fast algorithms with O(n) and O(n + m log m) time complexities on trees and graphs respectively. We have implemented and evaluated our algorithms on a state-of-the-art alias analysis for Java. Results on standard benchmarks show that our algorithms achieve orders of magnitude speedup and consume less memory.
机译:无背景语言(CFL)可达性问题是方案分析中众所周知的基本配方。在实践中,许多程序分析,尤其是指针分析,采用CFL可达性,DYCK-CFL可达性的限制版本,并在边缘标记的双向图中计算。在这种双向图形上解决全对Dyck-CFL可达性是昂贵的。对于具有N个节点和M边缘的双向图,传统的动态编程样式算法展示了具有K种括号的Dyck语言的子电机时间复杂度。当底层图限制为双向树木时,最近提出了一种具有O(n log n log k)时间复杂度的算法。本文研究了关于双向树木和图形的DYCK-CFL可达性问题。特别是,它分别呈现了两个具有O(n)和O(n + m log m)的快速算法。分别在树和图上的时间复杂性。我们在java的最先进的别名分析上实施和评估了我们的算法。标准基准测试结果表明,我们的算法达到了幅度加速的顺序,并消耗较少的内存。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号