PLApr 12

Points-to Analysis Using MDE: A Multi-level Deduplication Engine for Repetitive Data and Operations

arXiv:2604.1044521.0
Predicted impact top 61% in PL · last 90 daysOriginality Incremental advance
AI Analysis

For compiler and static analysis researchers, this work provides a practical technique to improve the scalability of precise pointer analysis, which is a critical bottleneck for many program analyses.

The paper addresses the challenge of scaling flow- and context-sensitive pointer analysis by eliminating redundant data and operations. The proposed Multi-level Deduplication Engine (MDE) reduces peak memory usage by up to 18.10x and runtime by up to 8.15x on SPEC benchmarks.

Precise pointer analysis is a foundational component of many client analyses and optimizations. Scaling flow- and context-sensitive pointer analysis has been a long-standing challenge, suffering from combinatorial growth in both memory usage and runtime. Existing approaches address this primarily by reducing the amount of information tracked often, at the cost of precision and soundness. In our experience a significant proportion of this cost comes from propagation of duplicate data and low-level data structure operations being repeated a large number of times. Our measurements on SPEC benchmarks show that more than 90% of all set-union operations performed can be redundant. We present Multi-level Deduplication Engine (MDE), a mechanism that recursively augments the representation of data through de-duplication and the assignment of unique identifiers to values to eliminate redundancy. This allows MDE to trivialize many operations, and memoize operations enabling their future reuse. MDE's recursive structure allows it to represent de-duplicated values that themselves are constructed from other de-deuplicated values, capturing structural redundancy not easily possible with non-recursive techniques. We provide a full C++ implementation of MDE as a library and integrate it into an existing implementation of a flow- and context-sensitive pointer analysis. Evaluation on selected SPEC benchmarks shows a reduction up to 18.10x in peak memory usage and 8.15x in runtime. More notably, MDE exhibits an upward trend of effectiveness with the increase in benchmark size. Besides performance improvements, this work highlights the importance of representation design and suggests new opportunities for bringing efficiency to future analyses.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes