| Framework for instruction-level tracing and analysis of program executions |
| Full text |
Pdf
(228 KB)
|
| Source
|
ACM/Usenix International Conference On Virtual Execution Environments
archive
Proceedings of the 2nd international conference on Virtual execution environments
table of contents
Ottawa, Ontario, Canada
SESSION: Instrumentation
table of contents
Pages: 154 - 163
Year of Publication: 2006
ISBN:1-59593-332-6
|
|
Authors
|
|
Sanjay Bhansali
|
Microsoft Corporation, Redmond, WA
|
|
Wen-Ke Chen
|
Microsoft Corporation, Redmond, WA
|
|
Stuart de Jong
|
Microsoft Corporation, Redmond, WA
|
|
Andrew Edwards
|
Microsoft Corporation, Redmond, WA
|
|
Ron Murray
|
Microsoft Corporation, Redmond, WA
|
|
Milenko Drinić
|
Microsoft Corporation, Redmond, WA
|
|
Darek Mihočka
|
Microsoft Corporation, Redmond, WA
|
|
Joe Chau
|
Microsoft Corporation, Redmond, WA
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 15, Downloads (12 Months): 84, Citation Count: 22
|
|
|
ABSTRACT
Program execution traces provide the most intimate details of a program's dynamic behavior. They can be used for program optimization, failure diagnosis, collecting software metrics like coverage, test prioritization, etc. Two major obstacles to exploiting the full potential of information they provide are: (i) performance overhead while collecting traces, and (ii) significant size of traces even for short execution scenarios. Reducing information output in an execution trace can reduce both performance overhead and the size of traces. However, the applicability of such traces is limited to a particular task. We present a runtime framework with a goal of collecting a complete, machine- and task-independent, user-mode trace of a program's execution that can be re-simulated deterministically with full fidelity down to the instruction level. The framework has reasonable runtime overhead and by using a novel compression scheme, we significantly reduce the size of traces. Our framework enables building a wide variety of tools for understanding program behavior. As examples of the applicability of our framework, we present a program analysis and a data locality profiling tool. Our program analysis tool is a time travel debugger that enables a developer to debug in both forward and backward direction over an execution trace with nearly all information available as in a regular debugging session. Our profiling tool has been used to improve data locality and reduce the dynamic working sets of real world applications.
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
|
Andrew Ayers , Richard Schooler , Chris Metcalf , Anant Agarwal , Junghwan Rhee , Emmett Witchel, TraceBack: first fault diagnosis by reconstruction of distributed control flow, Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, June 12-15, 2005, Chicago, IL, USA
|
 |
2
|
Vasanth Bala , Evelyn Duesterwald , Sanjeev Banerjia, Dynamo: a transparent dynamic optimization system, Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation, p.1-12, June 18-21, 2000, Vancouver, British Columbia, Canada
|
 |
3
|
|
| |
4
|
|
| |
5
|
Martin Burtscher , Ilya Ganusov , Sandra J. Jackson , Jian Ke , Paruj Ratanaworabhan , Nana B. Sam, The VPC Trace-Compression Algorithms, IEEE Transactions on Computers, v.54 n.11, p.1329-1344, November 2005
[doi> 10.1109/TC.2005.186]
|
| |
6
|
Wen-Ke Chen, Sorin Lerner, Ronnie Chaiken, and David Gillies, Mojo: a dynamic optimization system, ACM Workshop on Feedback-Directed and Dynamic Optimization (2000), 81--90.
|
 |
7
|
Trishul M. Chilimbi , Mark D. Hill , James R. Larus, Cache-conscious structure layout, Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation, p.1-12, May 01-04, 1999, Atlanta, Georgia, United States
|
 |
8
|
|
 |
9
|
Manuel Costa , Jon Crowcroft , Miguel Castro , Antony Rowstron , Lidong Zhou , Lintao Zhang , Paul Barham, Vigilante: end-to-end containment of internet worms, Proceedings of the twentieth ACM symposium on Operating systems principles, October 23-26, 2005, Brighton, United Kingdom
|
| |
10
|
Giuseppe Desoli , Nikolay Mateev , Evelyn Duesterwald , Paolo Faraboschi , Joseph A. Fisher, DELI: a new run-time control point, Proceedings of the 35th annual ACM/IEEE international symposium on Microarchitecture, November 18-22, 2002, Istanbul, Turkey
|
 |
11
|
George W. Dunlap , Samuel T. King , Sukru Cinar , Murtaza A. Basrai , Peter M. Chen, ReVirt: enabling intrusion analysis through virtual-machine logging and replay, Proceedings of the 5th symposium on Operating systems design and implementation Due to copyright restrictions we are not able to make the PDFs for this conference available for downloading, December 09-11, 2002, Boston, Massachusetts
[doi> 10.1145/1060289.1060309]
|
 |
12
|
|
| |
13
|
|
| |
14
|
Samuel T. King, George W. Dunlap, and Peter M. Chen, Debugging operating systems with time-traveling virtual machines, USENIX Annual Technical Conference (2005), 1--15.
|
 |
15
|
|
 |
16
|
|
 |
17
|
Chi-Keung Luk , Robert Cohn , Robert Muth , Harish Patil , Artur Klauser , Geoff Lowney , Steven Wallace , Vijay Janapa Reddi , Kim Hazelwood, Pin: building customized program analysis tools with dynamic instrumentation, Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, June 12-15, 2005, Chicago, IL, USA
|
 |
18
|
|
| |
19
|
Nicholas Nethercote and Julian Seward, Valgrind: a program supervision framework, Electronic Notes in Theoretical Computer Science 89 (2003), no. 2.
|
| |
20
|
James E. Smith and Ravi Nair, Virtual machines, first ed., Morgan Kaufman, San Francisco, Ca., 2005.
|
 |
21
|
|
| |
22
|
Amitabh Srivastava, Hoi Vo, and Andrew Edwards, Vulcan: binary transformation in distributed environment, Tech. Report MSR-TR-2001-50, Micorosft Research, April 2001.
|
 |
23
|
|
 |
24
|
|
CITED BY 22
|
|
Yungang Bao , Mingyu Chen , Yuan Ruan , Li Liu , Jianping Fan , Qingbo Yuan , Bo Song , Jianwei Xu, HMTT: a platform independent full-system memory trace monitoring system, ACM SIGMETRICS Performance Evaluation Review, v.36 n.1, June 2008
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Chen Tian , Vijay Nagarajan , Rajiv Gupta , Sriraman Tallam, Dynamic recognition of synchronization operations for improved data race detection, Proceedings of the 2008 international symposium on Software testing and analysis, July 20-24, 2008, Seattle, WA, USA
|
|
|
Lei Gao , Stefan Kraemer , Rainer Leupers , Gerd Ascheid , Heinrich Meyr, A fast and generic hybrid simulation approach using C virtual machine, Proceedings of the 2007 international conference on Compilers, architecture, and synthesis for embedded systems, September 30-October 03, 2007, Salzburg, Austria
|
|
|
|
|
|
Weidong Cui , Marcus Peinado , Karl Chen , Helen J. Wang , Luis Irun-Briz, Tupni: automatic reverse engineering of input formats, Proceedings of the 15th ACM conference on Computer and communications security, October 27-31, 2008, Alexandria, Virginia, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Geoffrey Lefebvre , Brendan Cully , Michael J. Feeley , Norman C. Hutchinson , Andrew Warfield, Tralfamadore: unifying source code and execution experience, Proceedings of the fourth ACM european conference on Computer systems, April 01-03, 2009, Nuremberg, Germany
|
|
|
Manuel Costa , Jon Crowcroft , Miguel Castro , Antony Rowstron , Lidong Zhou , Lintao Zhang , Paul Barham, Vigilante: End-to-end containment of Internet worm epidemics, ACM Transactions on Computer Systems (TOCS), v.26 n.4, p.1-68, December 2008
|
|
|
|
|
|
|
|
|
|
|