kirancodes.me
To Proof Maintenance & Beyond!

Wave Propagation and Deep Propagation for Pointer Analysis

Fernando Magno Quintão Pereira, Daniel Berlin

Abstract

This paper describes two new algorithms for solving inclusion based points-to analysis. The first algorithm, the wave propagation method, is a modified version of an early technique presented by Pearce et al; however, it greatly improves on the running time of its predecessor. The second algorithm, the deep propagation method, is a more light-weighted analysis, that requires less memory. We have compared these algorithms with three state-of-the-art techniques by Hardekopf-Lin, Heintze-Tardieu and Pearce-Kelly-Hankin. Our experiments show that deep propagation has the best average execution time across a suite of 17 well-known benchmarks, the lowest memory requirements in absolute numbers, and the fastest absolute times for benchmarks under 100,000 lines of code. The memory-hungry wave propagation has the fastest absolute running times in a memory rich execution environment, matching the speed of the best known points-to analysis algorithms in large benchmarks.

Related papers