paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Hybrid Inlining: A Framework for Compositional and Context-Sensitive Static Analysis

混合内联:一种组合式且上下文敏感的静态分析框架
ISSTA Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis2023匹配度 3/10 · 该论文提出混合内联的上下文敏感静态分析框架,属于传统程序分析与抽象解释,未涉及LLM/Agent、浮点程序分析或贝叶斯程序分析,与用户核心关注的PL与AI交叉方向匹配度较低。但其问题驱动、理论形式化与工业评估的风格可能对静态分析基础方法有参考价值。引用 2 inbox
Jiangchao Liu, Jierui Liu, Peng Di, Diyu Wu, Hengjie Zheng, Alex X. Liu, Jingling Xue
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出混合内联框架,让组合式静态分析实现严格上下文敏感并保持可扩展性。

过程间静态分析中,上下文敏感能显著提升精度,但自顶向下分析需在所有调用点完全内联被调函数,导致语句爆炸;组合式分析虽可扩展,却因非严格上下文敏感而损失精度。本文提出混合内联框架:仅对每个被调函数中影响精度的关键语句进行上下文敏感内联,对非关键语句使用摘要;同时延迟生成关键语句摘要,当累积的调用上下文足够时即停止传播。作者基于该框架实现指针分析等多种分析。在 DaCapo 与工业 Java 程序上的评估表明,指针分析可在数分钟内完成,相比上下文不敏感分析,在 DaCapo 和工业应用上仅增加 65% 和 1% 的时间开销。

问题
上下文敏感的过程间静态分析若采用完全内联会引发语句爆炸,而组合式分析虽可扩展却常因非严格上下文敏感而损失精度。
方法
提出混合内联框架,对关键语句做上下文敏感内联、对非关键语句用摘要,并延迟生成关键语句摘要,累积调用上下文充分时停止传播。
评估
实现包括指针分析在内的多种分析,在 DaCapo 与工业 Java 程序上评估,指针分析分钟级完成,相比上下文不敏感分析仅增加 65% 和 1% 时间开销。
原文摘要(Abstract)

Context-sensitivity is essential for achieving good precision in inter-procedural static analysis. To be context-sensitive, top-down analysis needs to fully inline all the statements in a callee at all its callsites, leading to statement explosion. Compositional analysis, which inlines summaries of all the callees, scales up but often loses precision, as it is not strictly context-sensitive. We propose a compositional and strictly context-sensitive framework for static analysis. This framework is based on a key observation: a compositional analysis often loses precision only on some critical statements that need to be analyzed context-sensitively. Our approach hybridly inlines the critical statements and the summaries of non-critical statements of each callee, thus avoiding re-analyzing non-critical ones. In addition, our analysis lazily summarizes the critical statements, by stopping propagating the critical statements once the calling context accumulated is adequate. We have designed and implemented several analyses (including a pointer analysis) based on this framework. Our evaluation on the pointer analysis shows that it can analyze large Java programs from the DaCapo benchmark suite and industry in minutes. Compared to context-insensitive analysis, Hybrid Inlining introduces only 65% and 1% additional time overheads on DaCapo and industrial applications, respectively.

链接与引用

DOI 原文 · DBLP

BibTeX
@inproceedings{LiuLDWZLX23,
  title = {Hybrid Inlining: A Framework for Compositional and Context-Sensitive Static Analysis},
  author = {Jiangchao Liu and Jierui Liu and Peng Di and Diyu Wu and Hengjie Zheng and Alex X. Liu and Jingling Xue},
  booktitle = {ISSTA},
  year = {2023},
  doi = {10.1145/3597926.3598042}
}