MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Timestamped Whole Program Path Representation and its Applications (2001) [26 citations — 3 self]

Download:
Download as a PDF | Download as a PS
by Youtao Zhang, Rajiv Gupta
in Proc. ACM SIGPLAN Conf. on Programming Language Design and Implementation, Snowbird
http://www.cs.arizona.edu/people/gupta/research/Publications/Comp/pldi01.ps
Add To MetaCart

Abstract:

A whole program path (WPP) is a complete control ow trace of a program's execution. Recently Larus [18] showed that although WPP is expected to be very large (100's of MBytes), it can be greatly compressed (to 10's of MBytes) and therefore saved for future analysis. While the compression algorithm proposed by Larus is highly eective, the compression is accompanied with a loss in the ease with which subsets of information can be accessed. In particular, path traces pertaining to a particular function cannot generally be obtained without examining the entire compressed WPP representation. To solve this problem we advocate the application of compaction techniques aimed at providing easy access to path traces on a per function basis. We present a WPP compaction algorithm in which the WPP is broken into path traces corresponding to individual function calls. All of the path traces for a given function are stored together as a block. Ability to construct the complete WPP from individual path traces is preserved by maintaining a dynamic call graph. The compaction is achieved by eliminating redundant path traces that result from dierent calls to a function and by replacing a sequence of static basic block ids that correspond to a dynamic basic block by a single id. We transform a compacted WPP representation into a timestamped WPP (TWPP) representation in which the path traces are organized from the perspective of dynamic basic blocks. TWPP representation also oers additional opportunities for compaction. Experiments show that our algorithm compacts the WPPs by factors ranging from 7 to 64. At the same time information is organized in a highly accessible form which speeds up the responses to queries requesting the path traces of a given function by over 3 orders of magnitude.

Citations

908 Program slicing – Weiser - 1984
560 Trace scheduling: A technique for global microcode compaction – Fisher - 1981
481 Compression of individual sequences via variable-rate coding – Ziv, Lempel - 1978
325 A Technique for High-Performance Data Compression – Welch - 1984
234 Precise interprocedural dataflow analysis via graph reachability – Reps, Sagiv, et al. - 1995
214 Dynamic program slicing – Agrawal, Horgan - 1990
161 Dynamic program slicing – Korel, Laski - 1988
102 Optimal code motion: Theory and practice – Knoop, Rüthing, et al. - 1994
92 Whole program paths – Larus - 1999
86 Eliminating array bounds checks on demand – Bodik, Gupta, et al. - 2002
68 Demand-drivencomputation of interprocedural data flow – Duesterwald, Gupta, et al. - 1995
65 Improving data-flow analysis with path profiles – Ammons, Larus - 1998
53 PLDI’98, Complete removal of redundant expressions – Bodik, Gupta, et al. - 1998
36 Dynamo: A transparent runtime optimization system – Bala, Duesterwald, et al. - 2000
34 Data flow frequency analysis – Ramalingam - 1996
32 PLDI’99, Load-reuse analysis: Design and evaluation – Bodik, Gupta, et al. - 1998
23 A Universal Algorithm for Data Compression – Ziv, Lempel
20 Lineartime, incremental hierarchy inference for compression – Nevill-Manning, Witten - 1997
13 Ecient Path Pro – Ball, Larus - 1996
13 Dynamic Currency Determination in Optimized Programs – Dhamdhere, Sankaranarayanan - 1998
9 Demand-Driven Data Flow Analysis for Communication Optimization – Yuan, Gupta, et al. - 1997
4 Structured data analysis for arrays and its use in an optimizing compiler – Gross, Steenkiste - 1990
4 Property Oriented Expansion – Steen - 1996
2 Path Pro Guided Partial Dead Code Elimination using Predication – Gupta, Berson, et al. - 1997
2 Path Pro Guided Partial Redundancy Elimination Using Speculation – Gupta, Berson, et al. - 1998
2 Resource-Sensitive Pro Data Flow Analysis for Code Optimization – Gupta, Berson, et al. - 1997
1 Edge Pro Versus Path Pro the Showdown – Ball, Mataga, et al. - 1998
1 Better Global Scheduling Using Path Pro – Smith - 1997