Efficient Abstract Interpretation via Selective Widening
Jiawei Wang, Xiao Cheng, Yulei Sui
摘要
interpretation provides a systematic framework for static analysis, where widening operators are crucial for ensuring termination when analyzing programs over infinite-height lattices. Current abstract interpreters apply widening operations and fixpoint detection uniformly across all variables at the identified widening point (e.g., control-flow loop headers), leading to costly computations. Through our empirical study, we observe that infinite ascending chains typically originate from only a subset of variables involved in value-flow cycles, providing opportunities for selective widening and targeted fixpoint detection. This paper introduces an efficient approach to optimize abstract interpretation over non-relational domains through selective widening guided by value-flow analysis. We develop a modular and condensed value-flow graph (MVFG) that enables precise identification of variables requiring widening by detecting value-flow cycles across procedure boundaries. Our MVFG design incorporates efficient shortcut edges that summarize interprocedural value flows, achieving the precision of context-sensitive analysis but with linear complexity. By aligning value-flow cycles with the weak topological ordering (WTO) of the control-flow graph, we identify the minimal set of variables requiring widening operations, applying widening exclusively to variables that participate in value-flow back edges. Our evaluation on large-scale open-source projects shows that our selective widening approach reduces analysis time by up to 41.2% while maintaining identical precision. The method significantly reduces the number of widened variables by up to 99.5%, with greater benefits observed in larger codebases.
CCS Concepts: • Software and its engineering → Automated static analysis; • Theory of computation → Abstraction.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper1
问问它们各自怎么用它它引用的顶会 Paper9
- Path-sensitive code embedding via contrastive learning for software vulnerability detectionXiao Cheng, Guanqin Zhang, Haoyu Wang, Yulei SuiISSTA 2022 · 被引用 98 次
- Flow2Vec: value-flow-based precise code embeddingYulei Sui, Xiao Cheng, Guanqin Zhang, Haoyu WangOOPSLA 2020 · 被引用 94 次
- Path-sensitive sparse analysis without path conditionsQingkai Shi, Peisen Yao, Rongxin Wu, Charles ZhangPLDI 2021 · 被引用 24 次
- A dual number abstraction for static analysis of Clarke JacobiansJacob Laurel, Rem Yang, Gagandeep Singh, Sasa MisailovicPOPL 2022 · 被引用 17 次
- Recursive State Machine Guided Graph Folding for Context-Free Language ReachabilityYuxiang Lei, Yulei Sui, Shin Hwei Tan, Qirun ZhangPLDI 2023 · 被引用 15 次
相关 Paper
- Iterative-Epoch Online Cycle Elimination for Context-Free Language ReachabilityPei Xu, Yuxiang Lei, Yulei Sui, Jingling XueOOPSLA 2024 · 被引用 3 次
- Taking Out the Toxic Trash: Recovering Precision in Mixed Flow-Sensitive Static AnalysesFabian Stemmler, Michael Schwarz, Julian Erhard, Sarah Tilscher 等PLDI 2025 · 被引用 3 次
- Demanded abstract interpretationBenno Stein, Bor-Yuh Evan Chang, Manu SridharanPLDI 2021 · 被引用 19 次
- Towards a Theoretically-Backed and Practical Framework for Selective Object-Sensitive Pointer AnalysisChaoyue Zhang, Longlong Lu, Yifei Lu, Minxue Pan 等OOPSLA 2025
- Trace-based control-flow analysisBenoît Montagu, Thomas P. JensenPLDI 2021 · 被引用 13 次
