Efficient points-to analysis for whole-program analysis

被引:0
|
作者
Liang, DL [1 ]
Harrold, MJ [1 ]
机构
[1] Ohio State Univ, Columbus, OH 43210 USA
关键词
aliasing analysis; points-to graph; pointer analysis;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
To function on programs written in languages such as C that make extensive use of pointers, automated software engineering tools require safe alias information. Existing alias-analysis techniques that are sufficiently efficient for analysis on large software systems may provide alias information that is too imprecise for tools that use it: the imprecision of the alias information may (1) reduce the precision of the information provided by the tools and (2) increase the cost of the tools. This paper presents a flow-insensitive, context-sensitive points-to analysis algorithm that computes alias information that is almost as precise as that computed by Andersen's algorithm - the most precise flow- and context-insensitive algorithm - and almost as efficient as Steensgaard's algorithm - the most efficient flow- and context-insensitive algorithm. Our empirical studies show that our algorithm scales to large programs better than Andersen's algorithm and show that flow-insensitive alias analysis algorithms, such as our algorithm and Andersen's algorithm, can compute alias information that is close in precision to that computed by the more expensive flow- and context-sensitive alias analysis algorithms.
引用
收藏
页码:199 / 215
页数:17
相关论文
共 50 条
  • [1] Averroes: Whole-Program Analysis without the Whole Program
    Ali, Karim
    Lhotak, Ondrej
    [J]. ECOOP 2013 - OBJECT-ORIENTED PROGRAMMING, 2013, 7920 : 378 - 400
  • [2] Points-to analysis for program understanding
    Tonella, P
    Antoniol, G
    Fiutem, R
    Merlo, E
    [J]. FIFTH INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION - IWPC '97, PROCEEDINGS, 1997, : 90 - 99
  • [3] DiffTrace: Efficient Whole-Program Trace Analysis and Diffing for Debugging
    Taheri, Saeed
    Briggs, Ian
    Burtscher, Martin
    Gopalakrishnan, Ganesh
    [J]. 2019 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING (CLUSTER), 2019, : 428 - 439
  • [4] Points-to analysis for program understanding
    Fiutem, R
    Tonella, P
    Antoniol, G
    Merlo, E
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 1999, 44 (03) : 213 - 227
  • [5] The design of whole-program analysis tools
    Atkinson, DC
    Griswold, WG
    [J]. PROCEEDINGS OF THE 18TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 1996, : 16 - 27
  • [6] Points-To Analysis with Efficient Strong Updates
    Lhotak, Ondrej
    Chung, Kwok-Chiang Andrew
    [J]. ACM SIGPLAN NOTICES, 2011, 46 (01) : 3 - 15
  • [7] Points-To Analysis with Efficient Strong Updates
    Lhotak, Ondrej
    Chung, Kwok-Chiang Andrew
    [J]. POPL 11: PROCEEDINGS OF THE 38TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2011, : 3 - 15
  • [8] Incremental Whole-Program Analysis in Datalog with Lattices
    Szabo, Tamas
    Erdweg, Sebastian
    Bergmann, Gabor
    [J]. PROCEEDINGS OF THE 42ND ACM SIGPLAN INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '21), 2021, : 1 - 15
  • [9] Prioritizing Constraint Evaluation for Efficient Points-to Analysis
    Nasre, Rupesh
    Govindarajan, R.
    [J]. 2011 9TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION (CGO), 2011, : 267 - 276
  • [10] Probabilistic points-to analysis
    Hwang, YS
    Chen, PS
    Lee, JK
    Ju, RDC
    [J]. LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, 2003, 2624 : 290 - 305