Hybrid Inlining: A Compositional and Context Sensitive Static Analysis Framework
Jiangchao Liu, Jierui Liu, Peng Di, Diyu Wu, Hengjie Zheng, Alex Liu,, Jingling Xue

TL;DR
This paper introduces Hybrid Inlining, a static analysis framework that combines compositional and context-sensitive techniques to improve precision without significant performance costs.
Contribution
It presents a novel hybrid inlining approach that selectively inlines critical statements for context sensitivity, maintaining scalability and precision.
Findings
Achieves context-sensitive precision comparable to top-down analysis.
Analyzes large Java programs in minutes with minimal overhead.
Provides a scalable pointer analysis for real-world applications.
Abstract
Context sensitivity is essential for achieving the precision in inter-procedural static analysis. To be (fully) context sensitive, top-down analysis needs to fully inline all statements of the callees at each callsite, leading to statement explosion. Compositional analysis, which inlines summaries of 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 one key observation: a compositional static 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 the re-analysis of non-critical ones. In addition, our analysis lazily summarizes the critical statements,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Software System Performance and Reliability · Software Testing and Debugging Techniques
