arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2609.27818cs.DS

有向无环图中的稠密过程间支配关系:上下文界限与紧凑查询

Dense Interprocedural Dominance in Acyclic Graphs: Context Bounds and Compact Queries

Peisen Yao

首次发表
浏览论文内容

中文总结 AI 辅助

本文研究过程间支配图的稠密性与查询代价,通过调用上下文界限揭示稠密输出与廉价查询可共存,并给出覆盖边数上界及紧凑查询表示。

中文摘要 AI 辅助

过程间支配关系询问:在每次匹配的调用-返回执行中,哪些程序点必须经过才能到达目标点。一种写出直接支配关系的分析需要为该序关系进行传递约简,即最小支配图。实测的该图实例看起来接近线性,边节点比约为1.1至1.26(引用DeSutter2007),但已知没有程序属性强制这种稀疏性:不清楚哪些结构限制意味着稀疏输出,以及稠密输出是否也排除了廉价查询。本文通过调用上下文回答这两个问题。一个静态节点代表其可达配置的集合;记κ为最大集合大小,α为具有多于一个配置的节点数。每个节点一个上下文保持具有n-1条边的树。两个上下文已经允许在稀疏、无循环、无递归、总度为3、过程规模常数、栈深度对数的ICFG中产生Θ(n^2)条覆盖边,而可达配置图本身保持线性,因此膨胀来自分组而非大量配置。三个上下文即使显式调用/返回图是无环的,也保持Θ(n^2)条覆盖边:所有到达目标的运行以相同顺序访问必经过程,而提前停止且未到达目标的额外运行移除了否则会消除覆盖边的可比性。作为下界的补充,α个歧义节点至多允许min{⌊n^2/4⌋,(α+1)(n-1)}条覆盖边,且栈深度为1时可达到Ω(αn)。并且对于每个每个节点至多两个上下文的ICFG,删除一个上下文组将支配关系简化为双失败可达性,从而在多多项式预处理后给出O(n)字、O(1)查询的表示。显式覆盖大小、上下文歧义和查询空间成本是三个独立的量。

英文摘要

Interprocedural dominance asks which program points every matched call-and-return execution must pass on its way to a target. An analysis that writes out immediate dominance pays for the transitive reduction of this order, the minimal dominator graph. Measured instances of that graph look near-linear, with edge-to-node ratios around 1.1--1.26~\cite{DeSutter2007}, but no program property is known to force this: it is unclear which structural restrictions imply sparse output, and whether dense output also rules out cheap queries. This paper answers both through calling contexts. A static node stands for the group of its reachable configurations; write $κ$ for the largest group size and $α$ for how many nodes have more than one configuration. One context per node keeps the tree with $n-1$ edges. Two already allow $Θ(n^2)$ cover edges in a sparse, loop-free, recursion-free ICFG with total degree three, constant-size procedures, and logarithmic stack depth, while the reachable configuration graph itself stays linear, so the blowup comes from grouping, not from many configurations. Three keep $Θ(n^2)$ covers even when the explicit call/return graph is acyclic: all target-reaching runs visit the mandatory procedures in the same order, and extra runs that stop short of any target remove the comparabilities that would otherwise kill the covers. Complementing the lower bounds, $α$ ambiguous nodes admit at most $\min\{\floor{n^2/4},(α+1)(n-1)\}$ cover edges, with $Ω(αn)$ attainable at stack depth one. And for every ICFG with at most two contexts per node, deleting a context group reduces dominance to dual-failure reachability, giving $O(n)$-word, $O(1)$-query representation after polynomial preprocessing. Explicit cover size, context ambiguity, and query-space cost are three separate quantities.

补充信息

↑