Program slicing with dynamic points-to sets

被引:16
|
作者
Mock, M [1 ]
Atkinson, DC
Chambers, C
Eggers, SJ
机构
[1] Univ Pittsburgh, Dept Comp Sci, Pittsburgh, PA 15260 USA
[2] Santa Clara Univ, Dept Comp Engn, Santa Clara, CA 95053 USA
[3] Univ Washington, Dept Comp Sci & Engn, Seattle, WA 98195 USA
关键词
dynamic analysis; points-to analysis; program slicing;
D O I
10.1109/TSE.2005.94
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Program slicing is a potentially useful analysis for aiding program understanding. However, in reality even slices of small programs are often too large to be useful. Imprecise pointer analyses have been suggested as one cause of this problem. In this paper, we use dynamic points-to data, which represents optimistic pointer information, to obtain a bound on the best case slice size improvement that can be achieved with improved pointer precision. Our experiments show that slice size can be reduced significantly for programs that make frequent use of calls through function pointers because for them the dynamic pointer data results in a considerably smaller call graph, which leads to fewer data dependences. Programs without or with only few calls through function pointers, however, show considerably less improvement. We discovered that C programs appear to have a significant fraction of direct and nonspurious pointer data dependences so that reducing spurious dependences via pointers is only of limited benefit. Consequently, to make slicing useful in general for such programs, improvements beyond better pointer analyses will be necessary. On the other hand, since we show that collecting dynamic function pointer information can be performed with little overhead ( average slowdown of 10 percent for our benchmarks), dynamic pointer information may be a practical approach to making slicing of programs with frequent function pointer use more successful in practice.
引用
收藏
页码:657 / 678
页数:22
相关论文
共 50 条
  • [31] The ART of Sharing Points-to Analysis
    Halalingaiah, Shashin
    Sundaresan, Vijay
    Maier, Daryl
    Nandivada, V. Krishna
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (OOPSLA):
  • [32] Fast and Precise Points-to Analysis
    Lundberg, Jonas
    Gutzmann, Tobias
    Lowe, Welf
    EIGHTH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, 2008, : 133 - 142
  • [33] Cost effective dynamic program slicing.
    Zhang, XY
    Gupta, R
    ACM SIGPLAN NOTICES, 2004, 39 (06) : 94 - 106
  • [34] On the non-approximability of points-to analysis
    Chakaravarthy, VT
    Horwitz, S
    ACTA INFORMATICA, 2002, 38 (08) : 587 - 598
  • [35] Enhancing static and dynamic views with program slicing
    Rilling, J
    Seffah, A
    6TH WORLD MULTICONFERENCE ON SYSTEMICS, CYBERNETICS AND INFORMATICS, VOL VIII, PROCEEDINGS: CONCEPTS AND APPLICATIONS OF SYSTEMICS, CYBERNETICS AND INFORMATICS II, 2002, : 109 - 114
  • [36] Software watermarking based on dynamic program slicing
    Deng, Xiaohong
    Xu, Guowen
    Sun, Guang
    Man, Junfeng
    2008 FOURTH INTERNATIONAL CONFERENCE ON INTELLIGENT INFORMATION HIDING AND MULTIMEDIA SIGNAL PROCESSING, PROCEEDINGS, 2008, : 461 - 464
  • [37] Active Learning of Points-To Specifications
    Bastani, Osbert
    Sharma, Rahul
    Aiken, Alex
    Liang, Percy
    ACM SIGPLAN NOTICES, 2018, 53 (04) : 678 - 692
  • [38] Collections frameworks for points-to analysis
    Gutzmann, Tobias
    Lundberg, Jonas
    Löwe, Welf
    Proceedings - 2012 IEEE 12th International Working Conference on Source Code Analysis and Manipulation, SCAM 2012, 2012, : 4 - 13
  • [39] State-Sensitive Points-to Analysis for the Dynamic Behavior of Java']JavaScript Objects
    Wei, Shiyi
    Ryder, Barbara G.
    ECOOP 2014 - OBJECT-ORIENTED PROGRAMMING, 2014, 8586 : 1 - 26
  • [40] Regular triangulations of dynamic sets of points
    Vigo, M
    Pla, N
    Cotrina, J
    COMPUTER AIDED GEOMETRIC DESIGN, 2002, 19 (02) : 127 - 149