Data processing: software development – installation – and managem – Software program development tool – Testing or debugging
Reexamination Certificate
2006-07-18
2010-10-26
Pham, Thomas K (Department: 2191)
Data processing: software development, installation, and managem
Software program development tool
Testing or debugging
C717S127000, C717S131000
Reexamination Certificate
active
07823129
ABSTRACT:
An apparatus and method are provided for the dynamic instrumentation of code to minimize system perturbation during tracing of the execution of the code. With the apparatus and method, “hot spots” in the execution of the code are dynamically determined during tracing of the execution of the code. These “hot spots” are dynamically instrumented, i.e. an event hook is inserted, to cause control to be passed to a handler that determines a caller of the “hot spot” method. The method that called the “hot spot” method, or “caller” method, is identified from a call stack and is dynamically instrumented for an appropriate metric so that the next time the calling method is executed, the dynamically inserted hooks are executed. The execution of the hooks in the caller method is continued for a predetermined period, e.g., number of invocations, to get an understanding of the caller method's characteristics. A list of callers of instrumented methods is maintained and used to determine one or more calling methods of the instrumented caller method. One or more of these calling methods may be instrumented and the hooks inserted in the instrumented caller method (called by the one or more calling methods), are removed. In this way, the call graph of the hot spots of a program execution is “walked up” and characterized over time.
REFERENCES:
patent: 5940618 (1999-08-01), Blandy et al.
patent: 6002872 (1999-12-01), Alexander et al.
patent: 6055492 (2000-04-01), Alexander, III et al.
patent: 6071316 (2000-06-01), Goossen et al.
patent: 6158024 (2000-12-01), Mandal
patent: 6282701 (2001-08-01), Wygodny et al.
patent: 6311325 (2001-10-01), Levine et al.
patent: 6338159 (2002-01-01), Alexander et al.
patent: 6470492 (2002-10-01), Bala et al.
patent: 6513155 (2003-01-01), Alexander, III et al.
patent: 6553564 (2003-04-01), Alexander, III et al.
patent: 6604210 (2003-08-01), Alexander, III et al.
patent: 6651243 (2003-11-01), Berry et al.
patent: 6662358 (2003-12-01), Berry et al.
patent: 6662359 (2003-12-01), Berry et al.
patent: 6681387 (2004-01-01), Hwu et al.
patent: 6751789 (2004-06-01), Berry et al.
patent: 7013456 (2006-03-01), Van Dyke et al.
patent: 7111290 (2006-09-01), Yates et al.
patent: 7137110 (2006-11-01), Reese et al.
patent: 7620940 (2009-11-01), Goldsmith et al.
patent: 2002/0194580 (2002-12-01), Ramasamy et al.
patent: 2006/0235655 (2006-10-01), Qing et al.
Kazi et al., “JaViz: a client/server Java profiling tool”, 2000, IBM Systems Journal vol. 39, No. 1, pp. 96-117.
“Proceedings of the Java Virtual Machine Research and Technology Symposium”, USENIX, Apr. 2001, pp. 1-14.
Merten et al., “A Hardware-Driven Profiling Scheme for Identifyiong Program Hot Spots to Support Runtime Optimization”, IEEE, 1999, pp. 136-147.
“The Java HotSpot Performance Engine Architecture”, Apr. 1999, retrieved Nov. 23, 2005, pp. 1-6. http://java.sun.com/products/hotspot/whitepaper.html.
Dimpsey Robert Tod
Levine Frank Eliot
Urquhart Robert John
International Business Machines - Corporation
Mims Jr. David A.
Pham Thomas K
Yee & Associates P.C.
LandOfFree
Apparatus and method for dynamic instrumenting of code to... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Apparatus and method for dynamic instrumenting of code to..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Apparatus and method for dynamic instrumenting of code to... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-4160577