paperbot · PL 论文追踪

全部论文 待读 收藏

P1 Falcon: A Fused Approach to Path-Sensitive Sparse Data Dependence Analysis

Falcon:一种融合式的路径敏感稀疏数据依赖分析方法
PLDI 8(PLDI)2024匹配度 5/10 · 该论文是静态程序分析领域的核心工作,聚焦路径敏感的数据依赖分析,但未涉及用户重点关注的 LLM/Agent 与静态分析的交叉、浮点程序分析或贝叶斯程序分析,也未应用于机器学习系统或 Agentic 程序,因此与研究画像的核心交叉方向匹配度中等。引用 16 inbox
Peisen Yao, Jinguo Zhou, Xiao Xiao, Qingkai Shi, Rongxin Wu, Charles Zhang
dblp: 2026-09-10crossref: 2026-09-10

AI 速览

一句话:提出 Falcon,将路径敏感内存模型下的析取推理分解为半路径敏感摘要与按需解析,实现可扩展的上下文敏感数据依赖分析。

本文针对路径敏感与上下文敏感的数据依赖分析中,强制采用路径敏感内存模型所带来的别名路径爆炸问题,提出融合式分析框架 Falcon。其核心思想是把析取推理的计算代价一分为二:第一阶段做上下文敏感、半路径敏感的稀疏分析,将数据依赖简洁地摘要为符号化的、无存储(storeless)的值流图;第二阶段为按需驱动,在值流图上解析传递性数据依赖,并在求解所需依赖的同时顺带计算完全路径敏感的指针信息。作者将该方法应用于薄切片(thin slicing)与值流缺陷检测两个客户端,在 16 个规模从 13 KLoC 到 8 MLoC 的 C/C++ 程序上,与多种当前最先进的分析方法进行比较,结果表明该方法在精度与可扩展性上均有显著优势。

问题
路径敏感与上下文敏感的数据依赖分析在实践中的主要障碍是别名路径爆炸:既要路径敏感的指针信息,又要保持分析的可扩展性,二者难以兼顾。
方法
将析取推理分解为两部分:一是上下文敏感、半路径敏感的分析,把数据依赖摘要为符号化且无存储的值流图;二是按需驱动阶段,在图上解析传递依赖,并同时按需计算完全路径敏感的指针信息。
评估
实现了薄切片与值流缺陷检测两个客户端,在 16 个 13 KLoC 至 8 MLoC 的 C/C++ 程序上与多种最先进分析对比,展示了精度与可扩展性的显著优势。
原文摘要(Abstract)

This paper presents a scalable path- and context-sensitive data dependence analysis. The key is to address the aliasing-path-explosion problem when enforcing a path-sensitive memory model. Specifically, our approach decomposes the computational efforts of disjunctive reasoning into 1) a context- and semi-path-sensitive analysis that concisely summarizes data dependence as the symbolic and storeless value-flow graphs, and 2) a demand-driven phase that resolves transitive data dependence over the graphs, piggybacking the computation of fully path-sensitive pointer information with the resolution of data dependence of interest. We have applied the approach to two clients, namely thin slicing and value-flow bug finding. Using a suite of 16 C / C + + programs ranging from 13 KLoC to 8 MLoC, we compare our techniques against a diverse group of state-of-the-art analyses, illustrating the significant precision and scalability advantages of our approach.

链接与引用

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

BibTeX
@article{YaoZXSWZ24,
  title = {Falcon: A Fused Approach to Path-Sensitive Sparse Data Dependence Analysis},
  author = {Peisen Yao and Jinguo Zhou and Xiao Xiao and Qingkai Shi and Rongxin Wu and Charles Zhang},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {PLDI},
  year = {2024},
  doi = {10.1145/3656400}
}