Dynamic dispatch of context-sensitive optimizations
Gabriel Poesia, Fernando Magno Quintão Pereira
摘要
Academia has spent much effort into making context-sensitive analyses practical, with great profit. However, the implementation of context-sensitive optimizations , in contrast to analyses, is still not practical, due to code-size explosion. This growth happens because current technology requires the cloning of full paths in the Calling Context Tree. In this paper, we present a solution to this problem. We combine finite state machines and dynamic dispatching to allow fully context-sensitive specialization while cloning only functions that are effectively optimized. This technique makes it possible to apply very liberal optimizations, such as context-sensitive constant propagation, in large programs—something that could not have been easily done before. We demonstrate the viability of our idea by formalizing it in Prolog, and implementing it in LLVM. As a proof of concept, we have used our state machines to implement context-sensitive constant propagation in LLVM. The binaries produced by traditional full cloning are 2.63 times larger than the binaries that we generate with our state machines. When applied on Mozilla Firefox, our optimization increases binary size from 7.2MB to 9.2MB. Full cloning, in contrast, yields a binary of 34MB.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper2
- Combining Structured Static Code Information and Dynamic Symbolic Traces for Software Vulnerability PredictionHuanting Wang, Zhanyong Tang, Shin Hwei Tan, Jie Wang 等ICSE 2024 · 被引用 15 次
- Jasmine: A Static Analysis Framework for Spring Core TechnologiesMiao Chen, Tengfei Tu, Hua Zhang, Qiaoyan Wen 等ASE 2022 · 被引用 9 次
它引用的顶会 Paper1
相关 Paper
- Challenging Sequential Bitstream Processing via Principled Bitwise SpeculationJunqiao Qiu, Lin Jiang, Zhijia ZhaoASPLOS 2020 · 被引用 9 次
- Hybrid Inlining: A Framework for Compositional and Context-Sensitive Static AnalysisJiangchao Liu, Jierui Liu, Peng Di, Diyu Wu 等ISSTA 2023 · 被引用 3 次
- CoSSJIT: Combining Static Analysis and Speculation in JIT CompilersAditya Anand, Vijay Sundaresan, Daryl Maier, Manas ThakurOOPSLA 2025 · 被引用 4 次
- Predictive Context-sensitive FuzzingPietro Borrello, Andrea Fioraldi, Daniele Cono D'Elia, Davide Balzarotti 等NDSS 2024
- PUS: A Fast and Highly Efficient Solver for Inclusion-based Pointer AnalysisPeiming Liu, Yanze Li, Bradley Swain, Jeff HuangICSE 2022 · 被引用 3 次
