Empirical study of optimization techniques for massive slicing

被引:18
作者
Binkley, David [1 ]
Harman, Mark [2 ]
Krinke, Jens [3 ]
机构
[1] Loyola Coll, Baltimore, MD 21210 USA
[2] Kings Coll London, London, England
[3] Fern Univ Hagen, D-58084 Hagen, Germany
来源
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS | 2008年 / 30卷 / 01期
基金
英国工程与自然科学研究理事会;
关键词
algorithms; languages; slicing; internal representation; performance enhancement; empirical study;
D O I
10.1145/1290520.1290523
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This article presents results from a study of techniques that improve the performance of graph-based interprocedural slicing of the System Dependence Graph (SDG). This is useful in "massive slicing" where slices are required for many or all of the possible set of slicing criteria. Several different techniques are considered, including forming strongly connected components, topological sorting, and removing transitive edges. Data collected from a test bed of just over 1,000,000 lines of code are presented. This data illustrates the impact on computation time of the techniques. Together, the best combination produces a 71% reduction in run-time (and a 64% reduction in memory usage). The complete set of techniques also illustrates the point at which faster computation is not viable due to prohibitive preprocessing costs.
引用
收藏
页数:33
相关论文
共 65 条
  • [1] Agrawal Hiralal., 1990, SIGPLAN NOTICES, DOI 10.1145/93542.93576
  • [2] Flow insensitive points-to sets
    Anderson, P
    Binkley, D
    Rosay, G
    Teitelbaum, T
    [J]. FIRST IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, 2001, : 79 - 89
  • [3] Using dependence graphs as a support to document programs
    Balmas, F
    [J]. SCAM 2002: SECOND IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS MANIPULATION, PROCEEDINGS, 2002, : 145 - 154
  • [4] Union slices for program maintenance
    Beszédes, A
    Faragó, C
    Szabó, ZM
    Csirik, J
    Gyimóthy, T
    [J]. INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 2002, : 12 - 21
  • [5] MEASURING FUNCTIONAL COHESION
    BIEMAN, JM
    OTT, LM
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1994, 20 (08) : 644 - 657
  • [6] Binkley D, 2005, PROC IEEE INT CONF S, P177
  • [7] Forward slices are smaller than backward slices
    Binkley, D
    Harman, M
    [J]. FIFTH IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, 2005, : 15 - 24
  • [8] Binkley D., 1995, ACM Transactions on Software Engineering and Methodology, V4, P3, DOI 10.1145/201055.201056
  • [9] Analysis and visualization of predicate dependence on formal parameters and global variables
    Binkley, D
    Harman, M
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2004, 30 (11) : 715 - 735
  • [10] Results from a large-scale study of performance optimization techniques for source code analyses based on graph reachability algorithms
    Binkley, D
    Harman, M
    [J]. THIRD IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION - PROCEEDINGS, 2003, : 203 - 212