Points-to analysis using BDDs.

被引:54
|
作者
Berndl, M [1 ]
Lhoták, O [1 ]
Qian, F [1 ]
Hendren, L [1 ]
Umanee, N [1 ]
机构
[1] McGill Univ, Sch Comp Sci, Sable Res Grp, Montreal, PQ H3A 2A7, Canada
关键词
points-to analysis; binary decision diagrams;
D O I
10.1145/780822.781144
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper reports on a new approach to solving a subset-based points-to analysis for Java using Binary Decision Diagrams (BDDs). In the model checking community, BDDs have been shown very effective for representing large sets and solving very large verification problems. Our work shows that BDDs can also be very effective for developing a points-to analysis that is simple to implement and that scales well, in both space and time, to large programs. The paper first introduces BDDs and operations on BDDs using some simple points-to examples. Then, a complete subset-based points-to algorithm is presented, expressed completely using BDDs and BDD operations. This algorithm is then refined by finding appropriate variable orderings and by making the algorithm propagate sets incrementally, in order to arrive at a very efficient algorithm. Experimental results are given to justify the choice of variable ordering, to demonstrate the improvement due to incrementalization, and to compare the performance of the BDD-based solver to an efficient hand-coded graph-based solver. Finally, based on the results of the BDD-based solver, a variety of BDD-based queries are presented, including the points-to query.
引用
收藏
页码:103 / 114
页数:12
相关论文
共 50 条
  • [41] Fast points-to analysis for languages with structured types
    Jung, M
    Huss, SA
    [J]. SOFTWARE AND COMPILERS FOR EMBEDDED SYSTEMS, PROCEEDINGS, 2004, 3199 : 107 - 121
  • [42] Towards path-sensitive points-to analysis
    Gutzmann, Tobias
    Lundberg, Jonas
    Lowe, Welf
    [J]. SEVENTH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, 2007, : 59 - 68
  • [43] Parallel Sparse Flow-Sensitive Points-to Analysis
    Zhao, Jisheng
    Burke, Michael G.
    Sarkar, Vivek
    [J]. CC'18: PROCEEDINGS OF THE 27TH INTERNATIONAL CONFERENCE ON COMPILER CONSTRUCTION, 2018, : 59 - 70
  • [44] An Incremental Points-to Analysis with CFL-Reachability
    Lu, Yi
    Shang, Lei
    Xie, Xinwei
    Xue, Jingling
    [J]. COMPILER CONSTRUCTION, CC 2013, 2013, 7791 : 61 - 81
  • [45] Demand-driven points-to analysis for Java']Java
    Sridharan, M
    Gopan, D
    Shan, L
    Bodík, R
    [J]. ACM SIGPLAN NOTICES, 2005, 40 (10) : 59 - 76
  • [46] Active Learning of Points-To Specifications
    Bastani, Osbert
    Sharma, Rahul
    Aiken, Alex
    Liang, Percy
    [J]. PROCEEDINGS OF THE 39TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, PLDI 2018, 2018, : 678 - 692
  • [47] Exploiting the Structure of the Constraint Graph for Efficient Points-to Analysis
    Nasre, Rupesh
    [J]. ACM SIGPLAN NOTICES, 2012, 47 (11) : 121 - 132
  • [48] Parallel points-to analysis for multi-core machines
    School of Computer Science, Physics and Mathematics, Linnaeus University, 35195 Växjö, Sweden
    [J]. HiPEAC - Proc. Int. Conf. High Perform. Embedded Archit. Compilers, (45-54):
  • [49] A constraint-weaving approach to points-to analysis for AspectJ
    Sun, Qiang
    Chen, Yuting
    Zhao, Jianjun
    [J]. FRONTIERS OF COMPUTER SCIENCE, 2014, 8 (01) : 52 - 68
  • [50] Hash Consed Points-To Sets
    Barbar, Mohamad
    Sui, Yulei
    [J]. STATIC ANALYSIS, SAS 2021, 2021, 12913 : 25 - 48