Accelerating Data-Flow Analysis with Full-Partitioning
Yuantong Zhang, Liwei Chen, Xiaofan Nie, Zhijie Zhang, Haolai Wei, Gang Shi · 2021
Data-flow analysis is a classical way to deal with program optimization and program analysis issues. However, the classical iterative data-flow analysis prone to low efficiency when applied to vulnerability detection, because more exhaustive information is required. Therefore, we propose the full-partitioned interprocedural data-flow analysis. In this way, all works to a program are carried out to procedures strictly. We also introduce the novel Pointee Objects Intermediate Representation object to replace the real pointees during interprocedural pointer analysis. It aims to solve the representation of pointee objects when interprocedural pointer analysis is full-partitioned. The interprocedural data-flow analysis is realized by using the function summary. We have observed a significant increase in efficiency and a good capability to support the use-after-free detection.