Online cycle detection and difference propagation: Applications to pointer analysis

被引:22
|
作者
Pearce, DJ [1 ]
Kelly, PHJ
Hankin, C
机构
[1] Victoria Univ Wellington, Wellington, New Zealand
[2] Univ London Imperial Coll Sci Technol & Med, Dept Comp, London SW7 2AZ, England
关键词
D O I
10.1023/B:SQJO.0000039791.93071.a2
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper presents and evaluates a number of techniques to improve the execution time of interprocedural pointer analysis in the context of C programs. The analysis is formulated as a graph of set constraints and solved using a worklist algorithm. Indirections lead to new constraints being added during this procedure. The solution process can be simplified by identifying cycles, and we present a novel online algorithm for doing this. We also present a difference propagation scheme which avoids redundant work by tracking changes to each solution set. The effectiveness of these and other methods are shown in an experimental study over 12 common 'C' programs ranging between 1000 to 150,000 lines of code.
引用
收藏
页码:311 / 337
页数:27
相关论文
共 50 条
  • [1] Online Cycle Detection and Difference Propagation: Applications to Pointer Analysis
    David J. Pearce
    Paul H.J. Kelly
    Chris Hankin
    Software Quality Journal, 2004, 12 : 311 - 337
  • [2] Online cycle detection and difference propagation for pointer analysis
    Pearce, DJ
    Kelly, PHJ
    Hankin, C
    THIRD IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION - PROCEEDINGS, 2003, : 3 - 12
  • [3] Online Taint Propagation Analysis with Precise Pointer-to Analysis for Detecting Bugs in Binaries
    Li, Gen
    Zhang, Ying
    Wang, Shuang-Xi
    Lu, Kai
    2014 IEEE INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS, 2014 IEEE 6TH INTL SYMP ON CYBERSPACE SAFETY AND SECURITY, 2014 IEEE 11TH INTL CONF ON EMBEDDED SOFTWARE AND SYST (HPCC,CSS,ICESS), 2014, : 778 - 784
  • [4] Wave Propagation and Deep Propagation for Pointer Analysis
    Pereira, Fernando Magno Quintao
    Berlin, Daniel
    CGO 2009: INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, PROCEEDINGS, 2009, : 126 - +
  • [5] Fast online pointer analysis
    Hirzel, Martin
    Von Dincklage, Daniel
    Diwan, Amer
    Hind, Michael
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2007, 29 (02):
  • [6] Research on the Online Detection for the Entropy Source Based on the Cycle Count Difference
    Ou Q.-Y.
    Luo F.
    Chu W.-Y.
    Tien Tzu Hsueh Pao/Acta Electronica Sinica, 2023, 51 (11): : 3388 - 3396
  • [7] A propagation engine based approach for pointer reference fault detection
    Zhong, Lu-Jie
    Huo, Wei
    Li, Feng
    Chen, Cong-Ming
    Feng, Xiao-Bing
    Zhang, Zhao-Qing
    Jisuanji Xuebao/Chinese Journal of Computers, 2013, 36 (02): : 432 - 444
  • [8] Accelerating Type Confusion Detection with Pointer Analysis
    Fan, Xiaokang
    Xia, Zeyu
    Long, Sifan
    Huang, Chun
    Yang, Canqun
    IAENG International Journal of Computer Science, 2020, 47 (04) : 1 - 8
  • [9] Runtime behavior analysis for pointer-intensive applications
    Zhu, Hui-dong
    Zhuang, Xu
    Huang, Yongli
    Huang, Yan
    2011 INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND NETWORK TECHNOLOGY (ICCSNT), VOLS 1-4, 2012, : 1674 - 1678
  • [10] Pointer analysis based vulnerability detection for browser extension
    Wang, Junjie
    Li, Xiaohong
    Yan, Bobo
    Feng, Zhiyong
    International Journal of Digital Content Technology and its Applications, 2012, 6 (01) : 488 - 495