Unveiling the Power of Intermediate Representations for Static Analysis: A Survey
Bowen Zhang, Wei Chen, Hung-Chun Chiu, Charles Zhang

TL;DR
This survey explores how intermediate representations (IR) are utilized in static analysis, highlighting their benefits, challenges, and potential for improving analysis efficiency and flexibility across programming languages.
Contribution
It systematically analyzes the role of IR in static analysis, providing a comprehensive overview and identifying research opportunities in IR design and application.
Findings
IR enhances static analysis versatility across languages
IR-based analysis can be optimized for efficiency and accuracy
The survey reveals future research directions in IR design
Abstract
Static analysis techniques enhance the security, performance, and reliability of programs by analyzing and portraiting program behaviors without the need for actual execution. In essence, static analysis takes the Intermediate Representation (IR) of a target program as input to retrieve essential program information and understand the program. However, there is a lack of systematic analysis on the benefit of IR for static analysis, besides serving as an information provider. In general, a modern static analysis framework should possess the ability to conduct diverse analyses on different languages, producing reliable results with minimal time consumption, and offering extensive customization options. In this survey, we systematically characterize these goals and review the potential solutions from the perspective of IR. It can serve as a manual for learners and practitioners in the…
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
TopicsNeural Networks and Applications
