Linear-time subtransitive control flow analysis

Linear-time subtransitive control flow analysis
复制标题

线性时间次传递控制流分析

DOI:
10.1145/258915.258939
复制
发表时间:
1997
期刊:
ACM-SIGPLAN Symposium on Programming Language Design and Implementation
影响因子:
--
通讯作者:
David A. McAllester
David A. McAllester
中科院分区:
--
文献类型:
--
作者:
N. Heintze;David A. McAllester

文献摘要

被引文献

相似文献

我们为有限型程序提出了一种线性时间算法,该算法构建了一个有向图的图形,其及时闭合使标准(CUTIME)控制流分析(CFA)算法的结果准确地赋予了算法。我们的算法可用于列出来自(最佳)二次时间时间中所有调用站点的所有函数调用。更重要的是,它可用于给出用于CFA耗尽应用程序的线性时间算法,例如:•效果分析:在程序中找到副作用表达式。•k-limited CFA:对于每个呼叫站点,列出功能,如果只有少数(≤k)并以“许多”输出输出。•呼叫分析:识别仅从一个呼叫站点调用的所有功能。
We present a linear-time algorithm for bounded-type programs that builds a directed graph whose transitive closure gives exactly the results of the standard (cubic-time) Control-Flow Analysis (CFA) algorithm. Our algorithm can be used to list all functions calls from all call sites in (optimal) quadratic time. More importantly, it can be used to give linear-time algorithms for CFA-consuming applications such as:• effects analysis: find the side-effecting expressions in a program.• k-limited CFA: for each call-site, list the functions if there are only a few of them (≤ k) and otherwise output "many".• called-once analysis: identify all functions called from only one call-site.