ACM Home Page
Please provide us with feedback. Feedback
Whole execution traces and their applications
Full text PdfPdf (936 KB)
Source ACM Transactions on Architecture and Code Optimization (TACO) archive
Volume 2 ,  Issue 3  (September 2005) table of contents
Pages: 301 - 334  
Year of Publication: 2005
ISSN:1544-3566
Authors
Xiangyu Zhang  University of Arizona, Tucson, AZ
Rajiv Gupta  University of Arizona, Tucson, AZ
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 82,   Citation Count: 6
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1089008.1089012
What is a DOI?

ABSTRACT

Different types of program profiles (control flow, value, address, and dependence) have been collected and extensively studied by researchers to identify program characteristics that can then be exploited to develop more effective compilers and architectures. Because of the large amounts of profile data produced by realistic program runs, most work has focused on separately collecting and compressing different types of profiles. In this paper, we present a unified representation of profiles called Whole Execution Trace (WET), which includes the complete information contained in each of the above types of traces. Thus, WETs provide a basis for a next-generation software tool that will enable mining of program profiles to identify program characteristics that require understanding of relationships among various types of profiles. The key features of our WET representation are: WET is constructed by labeling a static program representation with profile information such that relevant and related profile information can be directly accessed by analysis algorithms as they traverse the representation; a highly effective two-tier strategy is used to significantly compress the WET; and compression techniques are designed such that they minimally affect the ability to rapidly traverse WET for extracting subsets of information corresponding to individual profile types as well as a combination of profile types. Our experimentation shows that on, an average, execution traces resulting from execution of 647 million statements can be stored in 331 megabytes of storage after compression. The compression factors range from 16 to 83. Moreover the rates at which different types of profiles can be individually or simultaneously extracted are high. We present two applications of WETs, dynamic program slicing and dynamic version matching, which make effective use of multiple kinds of profile information contained in WETs.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
3
 
4
5
6
 
7
 
8
 
9
10
11
 
12
Duesterwald, E., Gupta, R., and Soffa, M. L. 1992. Rigorous data flow testing through output influences. In Proceedings of the 2nd Irvine Software Symposium. 131--145.
 
13
 
14
 
15
 
16
17
18
 
19
Kamkar, M. 1993. Interprocedural dynamic slicing with applications to debugging and testing. PhD Thesis, Linkoping University, Sweden.
 
20
 
21
 
22
Korel, B. and Rilling, J. 1997. Application of dynamic slicing in program debugging. In Proceedings of the Automated and Algorithmic Debugging. 43--59.
23
 
24
 
25
26
27
 
28
Sazeides, Y. 2003. Instruction-isomorphism in program execution. In Proceedings of the Value Prediction Workshop.
 
29
 
30
Sazeides, Y. and Smith, J. E. 1997b. Implementations of context based value predictors. Technical Report ECE-97-8, University of Wisconsin-Madison.
 
31
Trimaran Compiler Research Infrastructure, 1997. Tutorial Notes.
32
 
33
Weiser, M. 1982. Program slicing. IEEE Transactions on Software Engineering SE-10, 4, 352--357.
34
 
35
36
 
37
 
38
39
40
41


Collaborative Colleagues:
Xiangyu Zhang: colleagues
Rajiv Gupta: colleagues