MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Program Slicing Using Dynamic Points-to Data (2002) [2 citations — 0 self]

Download:
pdf | ps
by Darren C. Atkinson, Markus Mock, Craig Chambers, Susan J. Eggers
ACM SIGSOFT 10th Symposium on the Foundations of Software Engineering (FSE
http://www.cs.washington.edu/homes/mock/papers/master.ps
Add To MetaCart

Abstract:

Program slicing is a potentially beneficial analysis for aiding program understanding. However, slices of even small programs are often too large to be generally useful. Imprecise pointer analyses have been suggested as one cause of this problem. In this paper, we explore using dynamic points-to information as an alternative to static information to improve precision. Since dynamic points-to data reflects the values of pointers during actual execution, the dynamic points-to sets are generally much smaller, and therefore the sizes of the resulting slices should also be smaller. Our experiments showed that the smaller points-to sets generally led to significantly smaller data-flow sets in the analysis. However, because of many direct data dependences in the programs, the improved precision of pointer data did generally not translate into significantly reduced slices. Nevertheless, for programs with many calls through function pointers, the more precise dynamic pointer information produced a significantly smaller call graph, resulting in considerably better slices. The implications of our results are twofold. First, to improve the quality of slices in general, other techniques than improved pointer analysis will be necessary. Second, for applications with an imprecise call graph, an optimistic approximation of the true graph is likely to yield considerable improvement in slice size.

Citations

908 Program slicing – Weiser - 1984
519 Interprocedural slicing using dependence graphs – Horwitz, Reps, et al. - 1990
446 A survey of program slicing techniques – Tip - 1995
415 Points-to analysis in almost linear time – Steensgaard - 1996
403 Program Analysis and Specialization for the C Programming Language. PhDthesis, University of Copenhagen, DIKU, DIKU report 94/19 – Andersen - 1994
339 Effective context-sensitive pointer analysis for C programs – Wilson, Lam - 1995
269 Validity of the Single Processor Approach to Achieving Large-Scale Computing Capabilities – Amdahl - 1967
214 Using program slicing in software maintenance – Gallagher, Lyle - 1991
146 Unification-based pointer analysis with directional assignments – Das - 2000
137 Fast and Accurate Flow-Insensitive Points-To Analysis – Shapiro, Horwitz - 1997
67 The effects of precision on pointer analysis – Shapiro, Horwitz - 1997
61 The design of whole-program analysis tools – Atkinson, Griswold - 1996
51 Demand interprocedural dataflow anafysis~’ Unpublished Report, Computer Sciences Department, University of Wk.consin, Madkon, WI (). (In preparation – Horwitz, Reps, et al.
42 Effective whole-program analysis in the presence of pointers – Atkinson, Griswold - 1998
36 Probability and Statistics for Engineering and the Sciences. Brooks/Cole – Devore - 1995
33 On the importance of points-to analysis and other memory disambiguation methods for C programs – Ghiya, Lavery, et al. - 2001
31 Calpa: a tool for automating selective dynamic compilation – MOCK, CHAMBERS, et al. - 2000
26 Dynamic Points-To Sets: A Comparison with Static Analyses and – Mock, Das, et al. - 2001
21 O#-line variable substitution for scaling points-to analysis – Rountev, Chandra - 2000
20 A slicing-based approach for locating type errors – Dinesh, Tip - 2001
16 Calpa: A tool for automating dynamic compilation – Mock, Berryman, et al. - 1999
11 Implementation techniques for efficient data-flow analysis of large programs – Atkinson, Griswold - 2001
11 A comparative study of two whole-program slicers for C – Bent, Atkinson, et al. - 2000
8 The value of slicing while debugging – Francel, Rugaber
6 Codesurfer user guide and reference manual – GrammaTech - 2000
6 The flow and analysis libraries of machine SUIF – Holloway, Young - 1997
5 Light-weight context recovery for efficient and accurate program analyses – Liang, Harrold - 2000
3 The Design and Implementation of Practical and Task-Oriented Whole-Program Analysis Tools – Atkinson - 1999
3 Using a program slicing CASE tool for evaluating high integrity software systems – Beltracchi, Lyle, et al. - 1996