Set-Based Pre-Processing for Points-To Analysis

被引:0
|
作者
Smaragdakis, Yannis [1 ]
Balatsouras, George [1 ]
Kastrinis, George [1 ]
机构
[1] Univ Athens, Dept Informat, Athens 15784, Greece
基金
欧洲研究理事会;
关键词
points-to analysis; optimization; off-line; OBJECT-SENSITIVITY;
D O I
10.1145/2544173.2509524
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present set-based pre-analysis: a virtually universal optimization technique for flow-insensitive points-to analysis. Points-to analysis computes a static abstraction of how object values flow through a program's variables. Set-based pre-analysis relies on the observation that much of this reasoning can take place at the set level rather than the value level. Computing constraints at the set level results in significant optimization opportunities: we can rewrite the input program into a simplified form with the same essential points-to properties. This rewrite results in removing both local variables and instructions, thus simplifying the subsequent value-based points-to computation. Effectively, set-based pre-analysis puts the program in a normal form optimized for points-to analysis. Compared to other techniques for off-line optimization of points-to analyses in the literature, the new elements of our approach are the ability to eliminate statements, and not just variables, as well as its modularity: set-based pre-analysis can be performed on the input just once, e. g., allowing the pre-optimization of libraries that are subsequently reused many times and for different analyses. In experiments with Java programs, set-based pre-analysis eliminates 30% of the program's local variables and 30% or more of computed context-sensitive points-to facts, over a wide set of benchmarks and analyses, resulting in a similar to 20% average speedup (max: 110%, median: 18%).
引用
收藏
页码:253 / 269
页数:17
相关论文
共 50 条
  • [1] Level-set based pre-processing techniques for particle methods
    Yu, Yongchuan
    Zhu, Yujie
    Zhang, Chi
    Haidn, Oskar J.
    Hu, Xiangyu
    [J]. COMPUTER PHYSICS COMMUNICATIONS, 2023, 289
  • [2] Probabilistic points-to analysis
    Hwang, YS
    Chen, PS
    Lee, JK
    Ju, RDC
    [J]. LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, 2003, 2624 : 290 - 305
  • [3] Pre-processing of data points and surface reconstruction in RRE
    Huang, JM
    Tan, GY
    [J]. PROGRESS OF MACHINING TECHNOLOGY, 2004, : 902 - 907
  • [4] Parallel Replication-Based Points-To Analysis
    Putta, Sandeep
    Nasre, Rupesh
    [J]. COMPILER CONSTRUCTION, CC 2012, 2012, 7210 : 61 - 80
  • [5] Rule Set Optimization for Packet Pre-processing using Hash based Algorithm
    Kumar, Anand Prem
    Ramasubramanian, N.
    [J]. 2016 INTERNATIONAL CONFERENCE ON MICROELECTRONICS, COMPUTING AND COMMUNICATIONS (MICROCOM), 2016,
  • [6] Generalized Points-to Graphs: A Precise and Scalable Abstraction for Points-to Analysis
    Gharat, Pritam M.
    Khedker, Uday P.
    Mycroft, Alan
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2020, 42 (02):
  • [7] Searching,for points-to analysis
    Bruns, G
    Chandra, S
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2003, 29 (10) : 883 - 897
  • [8] The ART of Sharing Points-to Analysis: Reusing Points-to Analysis Results Safely and Efficiently
    Halalingaiah, Shashin
    Sundaresan, Vijay
    Maier, Daryl
    Nandivada, V. Krishna
    [J]. Proceedings of the ACM on Programming Languages, 2024, 8 (OOPSLA2)
  • [9] Componential set-based analysis
    Flanagan, C
    Felleisen, M
    [J]. ACM SIGPLAN NOTICES, 1997, 32 (05) : 235 - 248
  • [10] On the complexity of set-based analysis
    Heintze, N
    McAllester, D
    [J]. ACM SIGPLAN NOTICES, 1997, 32 (08) : 150 - 163