arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2608.24391cs.PL

IncSFS:面向C/C++的增量全稀疏流敏感指针分析

IncSFS: Incremental Full-Sparse Flow-Sensitive Pointer Analysis for C/C++

Kunlin Liu, Zhenbang Chen, Piyi Zu, Yide Du, Ji Wang

首次发表
浏览论文内容

中文总结 AI 辅助

本文针对软件持续迭代场景提出首个面向C/C++的增量全稀疏流敏感指针分析算法IncSFS,实验显示其精度高,效率较同类方法有显著提升。

中文摘要 AI 辅助

指针分析是编译器优化与程序分析的基础技术,流敏感指针分析精度高但难以扩展到大型项目。针对软件持续迭代的快速演化场景,本文提出面向C/C++程序的首个增量全稀疏流敏感指针分析算法IncSFS。IncSFS首先将值流图转换为约束图,通过强连通分量检测保障精度;随后以交错方式传播指向集的增减变化,支持单次分析过程中代码的删除与插入。当分析期间指向关系保持对象无环时,IncSFS可保证终止并计算最小不动点。在6个大型真实项目上的实验表明,IncSFS精度高且效率优异,相比全流敏感指针分析平均加速9.60倍,相比传统重置重计算方法平均加速5.84倍;相比传播指向集变化的最新增量指针分析算法,效率提升15.8%。

英文摘要

Pointer analysis is a fundamental technique for compiler optimization and program analysis. Flow-sensitive pointer analysis provides high precision but is difficult to scale to large projects. Tailored for rapid iteration scenarios where software evolves continuously, we introduce IncSFS, the first incremental full-sparse flow-sensitive pointer analysis algorithm for C/C++ programs. IncSFS first transforms the value-flow graph into a constraint graph and performs strongly connected component detection to ensure precision. It then propagates increases and decreases in points-to sets in an interleaved manner, supporting code deletion and insertion within a single analysis pass. IncSFS is guaranteed to terminate and compute the least fixed point when the points-to relation remains object-acyclic during analysis. Experiments on six large-scale real-world projects show that IncSFS is precise and efficient, achieving average speedups of 9.60x over full flow-sensitive pointer analysis and 5.84x over the traditional reset-recompute approach. It also improves efficiency by 15.8% over state-of-the-art incremental pointer analysis algorithms that propagate points-to-set changes.

补充信息

↑