paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Optimistic Hybrid Analysis

乐观混合分析
ASPLOS Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems2018匹配度 3/10 · 论文聚焦传统静态/动态混合分析与运行时验证,属于程序分析与抽象解释范畴,但未涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析等当前研究问题。仅与静态分析的方法论有间接关联,因此匹配度较低。引用 20 inbox
David Devecsery, Peter M. Chen, Jason Flinn, Satish Narayanasamy
crossref: 2026-09-12

AI 速览

一句话:提出乐观混合分析,用不可靠静态分析与运行时不变量验证加速动态分析,同时保持精度与可靠性。

动态分析可检测数据竞争、内存安全和信息流,但速度慢;传统混合分析依赖可靠静态分析减少动态工作。本文指出,保持动态分析可靠并不要求静态分析可靠:对静态分析所考虑状态内的执行仍可可靠分析。据此提出乐观混合分析:先剖析少量执行生成大概率不变量,再用更精确但不可靠的静态分析假设其成立,随后推测运行动态分析并验证该执行中不变量,失败则回退传统混合分析重新执行。结果与动态分析同样精确可靠,但通常更快,因为不可靠静态分析加速更大且验证很少失败。用于竞争检测和切片,分别比 FastTrack 快 1.8 倍、比 Giri 快 8.3 倍。

问题
动态分析工具很强大但速度慢,传统混合分析受限于必须依赖可靠静态分析,难以更充分地加速。如何在保留动态分析精度与可靠性的前提下更有效地利用静态分析?
方法
先剖析少量执行生成大概率不变量,再用更精确但不可靠的静态分析假设这些不变量成立,并推测性运行动态分析;运行时验证不变量,若失败则回退到传统混合分析重新执行。
评估
将该方法应用于数据竞争检测和程序切片;竞争检测相比经传统混合分析优化的 FastTrack 加速 1.8 倍,程序切片相比混合后向切片器 Giri 加速 8.3 倍,且验证很少失败。
原文摘要(Abstract)

Dynamic analysis tools, such as those that detect data-races, verify memory safety, and identify information flow, have become a vital part of testing and debugging complex software systems. While these tools are powerful, their slow speed often limits how effectively they can be deployed in practice. Hybrid analysis speeds up these tools by using static analysis to decrease the work performed during dynamic analysis. In this paper we argue that current hybrid analysis is needlessly hampered by an incorrect assumption that preserving the soundness of dynamic analysis requires an underlying sound static analysis. We observe that, even with unsound static analysis, it is possible to achieve sound dynamic analysis for the executions which fall within the set of states statically considered. This leads us to a new approach, called optimistic hybrid analysis. We first profile a small set of executions and generate a set of likely invariants that hold true during most, but not necessarily all, executions. Next, we apply a much more precise, but unsound, static analysis that assumes these invariants hold true. Finally, we run the resulting dynamic analysis speculatively while verifying whether the assumed invariants hold true during that particular execution; if not, the program is reexecuted with a traditional hybrid analysis. Optimistic hybrid analysis is as precise and sound as traditional dynamic analysis, but is typically much faster because (1) unsound static analysis can speed up dynamic analysis much more than sound static analysis can and (2) verifications rarely fail. We apply optimistic hybrid analysis to race detection and program slicing and achieve 1.8x over a state-of-the-art race detector (FastTrack) optimized with traditional hybrid analysis and 8.3x over a hybrid backward slicer (Giri).

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot4297,
  title = {Optimistic Hybrid Analysis},
  author = {David Devecsery and Peter M. Chen and Jason Flinn and Satish Narayanasamy},
  booktitle = {ASPLOS},
  year = {2018},
  doi = {10.1145/3173162.3177153}
}