paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Context-Free Language Reachability via Efficient Relation Chaining

基于高效关系链接的上下文无关语言可达性
OOPSLA 10(OOPSLA1)2026匹配度 4/10 · 该论文属于静态程序分析与抽象解释的基础算法工作,改进了 CFL 可达性求解的可扩展性,与用户感兴趣的静态分析工程实现有一定关联;但它不涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,也没有 AI→PL 或 PL→AI 的交叉,因此并非当前研究画像的核心方向。引用 0 inbox
Chenghang Shi, Haofeng Li, Jie Lu, Lian Li
crossref: 2026-09-10

AI 速览

一句话:提出关系链接视角与 Squid 算法,消除 CFL 可达性求解中的冗余链接操作,显著提升可扩展性。

上下文无关语言(CFL)可达性是程序分析的基础框架,但因(亚)立方时间复杂度而效率低下。本文提出“关系链接”新视角,将 CFL 可达性求解视为对表示二元关系的带标签边进行链接,揭示现有求解策略中频繁重复链接导致的推导冗余。基于增强图表示,作者设计 Squid 算法,引入自适应链接与差分链接两种技术以减少冗余操作。Squid 实现为独立工具,在 C/C++ 域敏感别名分析、上下文敏感值流分析及 Java 域敏感指向分析三类任务上,与两个先进 CFL 求解器和一个主流 Datalog 求解器对比。实验表明其大幅减少冗余链接,显著提升求解可扩展性。

问题
CFL 可达性广泛用于建模程序分析任务,但其(亚)立方时间复杂度及现有求解策略的低效链接方式导致大量冗余推导,限制了可扩展性。
方法
提出关系链接视角,将 CFL 可达性求解解释为二元关系带标签边的链接过程,并设计 Squid 算法,基于增强图表示引入自适应链接与差分链接两种技术。
评估
将 Squid 实现为独立工具,在 C/C++ 域敏感别名分析、上下文敏感值流分析与 Java 域敏感指向分析上,与两个先进 CFL 可达性求解器及一个主流 Datalog 求解器进行对比实验。
原文摘要(Abstract)

Context-free language (CFL) reachability is a fundamental framework widely used to model a variety of program analysis tasks, though it often suffers from inherent inefficiency due to its (sub)cubic time complexity. In this paper, we propose a novel perspective, relation chaining, which interprets CFL-reachability solving as the process of chaining labeled edges representing binary relations. This formulation exposes substantial derivation redundancy (in terms of frequent and repetitive chaining operations) arising from inefficient chaining strategies employed by existing approaches. To address this, we introduce Squid , a new algorithm that incorporates two simple yet effective chaining techniques—adaptive chaining and differential chaining—built upon an enhanced graph representation. We have implemented Squid as a standalone tool and evaluated it against two state-of-the-art CFL-reachability solvers and a leading Datalog solver across three key program analyses: field-sensitive alias analysis and context-sensitive value-flow analysis for C/C++, and field-sensitive points-to analysis for Java. Experimental results show that Squid substantially improves the scalability of CFL-reachability solving by effectively reducing a large portion of redundant chaining operations.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot3800,
  title = {Context-Free Language Reachability via Efficient Relation Chaining},
  author = {Chenghang Shi and Haofeng Li and Jie Lu and Lian Li},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {10},
  number = {OOPSLA1},
  year = {2026},
  doi = {10.1145/3798270}
}