Professional Documents
Culture Documents
Ulllted States Patent (10) Patent N0.: US 8,504,994 B2
Ulllted States Patent (10) Patent N0.: US 8,504,994 B2
US 8,504,994 B2
Aug. 6, 2013
2
5,021,949 A 5,121,489 A
$41013? 4131
was 1 e .
(75)
5,193,180 A
5,265,254 A
5,335,344 A
3/ 1993 Hastings
11/1993 Blasciak et al.
5,297,274 A
3/ 1994 Jackson
8/1994 Hastings
5347649 A
9/1994 Alderson
(1L)
(*) Notice: Subject to any disclaimer, the term of this
patent is extended or adjusted under 35 W0 W0 96'05556
(Continued)
FOREIGN PATENT DOCUMENTS
2/1996
OTHER PUBLICATIONS
(22) Filed:
(65)
Oct 7, 2009
(Continued)
Prlmary Exammer i Tuan A Vu
(63)
(60)
(57)
ABSTRACT
(51)
(52)
G06F 9/44
U-s- Cl-
(2006-01)
person, etc.) to see the user interactions with the program and
714/47, 50, 46; 710/6; 715/700 See application ?le for complete search history.
(56) References Cited
U.S. PATENT DOCUMENTS
4,503,495 A 3/1985 Boudreau
corresponding reactions of the system, and/or to remotely view environment variables, ?le access operations, system
interactions, and user interactions that occur on the users
problems.
4,511,960 A 4/1985 Boudreau
SUPPORT S115
CUSTOMER 5 TE
APPucAnoN IRACNG u SING
wsuAt PROBLEM MoWoR AGENT
US 8,504,994 B2
Page 2
U.S. PATENT DOCUMENTS
5,386,565 5,394,544 5,408,650 5,410,685 5,421,009
5,386,522 A
OTHER PUBLICATIONS
Advisory Action dated Oct. 20, 2008 from Related U.S. Appl. No. 10/80&760~ Advisory Action dated Oct. 7, 2005 from Related U.S. Appl. No. 09/799,338.
-
A A A A A
1/1995
Evans
5,430,586 A
5,446,876 A
5,450,586 A
Appelbe et al., Integrating tools for debugging and developing multitasking programs, ACM, 1993, pp. 78-88.
Bates, Peter C., Debugging Heterogeneous Distributed Systems
Using Event-Based Models of Behavior, ACM Transactions on
2
5483468 A
5,513,317 A
4/1996
Qgggliy
V1996 Chen et a1
Borchardt ' et al.
5 526 485 A
6/l996 Brodsky
535333192 A
5,551,037 5,574,897 5,581,697 5,590,354 A A A A
7/1996 Hawley et a1
8/1996 11/1996 12/1996 12/1996 Fowler et a1. Hermsmeier et al. Gramlich et al. Klapproth et 81.
5,612,898 A
5,615,331 A 5,632,032 A
5,642,478 A
3/1997 Huckins
3/1997 Toonans et 31' 5/1997 Au et a1~
6/1997 Chen et al.
3/1998
4/1998
5,657,438 A
5,732,210 A
8/l997 Wygodny et a1
BuZbee
Ahmad et a1.
1T
-1-
,, IBMT 1111'_
_
1D-
B 1
~
_
a?
PP
'
_
5,740,355 A
5,745,748 A
4/l998 Watanabe et a1
@1998 Harper 7/1998 Parker et a1 714/381 1
A A A A A A
Jun. 11, 2009) Retrieved from the Internet: URL: https://www.aaai. org/Papers/Workshops/l997/WS-97-07/WS97-07-010.pdf. Malony, Allen D. et al., Traceview: A Trace Visualization Tool, IEEE, SPP- 1991, PP 19-28~ Martonosi, Margaret et al., Effectiveness of Trace Sampling for Performance Debugging Tools, ACM SIGMETRICS, 1993, pp.
248-259.
5,938,778 A
A A A A
A A A A A
Meier, Michael S., et al., Experiences with Building Distributed Debuggers, SPDT, 1996, pp. 70-79. Mukherjea, Sougata et al., Applying Algorithm Animation Tech niques for Program Tracing, Debugging, and Understanding, IEEE,
1993, pp. 456-465. Netzer, H.B., et al., Optimal Tracing and Incremental Reexecution for Debugging Long-Running Programs, ACM SIGPLAN 1994 Conference on Programming Language Design and Implementation, Jun. 2024, Orlando, Florida, pp. 313-325.
NetZer, Robert H.B. eta1., O Ptimal Tracin g and Re P lay for Debu 6 -
6,173,340 B1 *
6,202,199 B1 6,219,826 B1
ging Message-Passing Parallel Programs, IEEE, 1992, pp. 502-511. NetZer, Robert H.B., Optimal Tracing and Replay for Debugging
2752;; 6263456 Bl
7 7
Shared-Memory Parallel Programs, AClVUONR Workshop on Par ?llel and Distributed Debugging, May 17-18, 1993, San Diego, Cali
ornia, pp. 1-12.
g3;
1392333113, et 31'
4/2002 ODonnell
7/2002 10/2002
6360331 B2
6 374 369 B1
6,415,394 B1 6 467 052 B1*
3/2002 Ven et a1
6490696 Bl
6,587,969 B1 * 6593940 B1 *
6 865 508 B2
gss?glilyetai'l
7/2003 Weinberg et 7/2003 Petersen et a1
300% Ueki Anderson et a1 et 31
B2 B2 B2 B1
A1 A1 A1 A1 A1 A1 A1
tion in a Program, IBM Technical Disclosure Bulletin, vol. 14, No. 4, _$eP~_1971; PP 1016-1019 _ _ Spinellis, Diomidis, Trace: A Tool for Logging Operating System Call Transactions, Operating Systems Review Publication, vol. 28,
N9 4, Oct. 1994, PP 56-61 Timmerman, F Gielen et al., High Level Tools for the Debugging of Real-Time Multiprocessor Systems, AClVUONR Workshop on Par
allel and Distributed Debugging, May 17-18, 1993, San Diego, Cali fornia, pp. 151-158. Tsai, Jeffrey JP. et al., A Noninvasive Architecture to Monitor
Real-Time Distributed Systems, IEEE, Mar. 1990, pp. 11-23.
US 8,504,994 B2
Page 3
Ueki, K., et al., A Probe Debugging Method, Technical Report of Ieice, Jul. 2000. Wilner, David, WindView: A Tool for Understanding Real-time Embedded Software through System Visualization, ACM
SIGPLAN Notices, vol. 30, No. 11, Nov. 1995, pp. 117-123.
Letters Patent No. 7,386,839, issued Jun. 10, 2008, entitled System and Method for Troubleshooting Software Con?guration Problems
09/799,338.
Of?ce Action dated Aug. 6, 2008 from Related U.S. Appl. No.
Troubleshooting Software Con?guration Problems Using Applica tion Tracing. Past, present, and future of?ce actions, amendments, arguments, and
other relevant documents or materials in the ?le history of U.S. Appl. No. 10/808,760, ?led Mar. 25, 2004, entitled System and Method for
10/808,760.
Of?ce Action dated Dec. 31, 2007 from Related U.S. Appl. No.
10/ 808,760.
Of?ce Action dated Jan. 2, 2009 from Related U.S. Appl. No.
Learning.
Past, present, and future of?ce actions, amendments, arguments, and
other relevant documents or materials in the ?le history of U.S. Appl. No. 11/165,442, ?led Jun. 23, 2005, entitled System and Method for
10/ 808,760.
Of?ce Action dated Jan. 23, 2006 from Related U.S. Appl. No.
09/799,338.
Of?ce Action dated Jan. 9, 2007 from Related U.S. Appl. No.
09/799,338.
Of?ce Action dated Jun. 22, 2009 from Related U.S. Appl. No.
Automated Tuning of Program Execution Tracing. Jeffrey K. Hollingsworth and Barton P Miller, An Adaptive Cost System for Parallel Program InstrumentationiProceedings of the
Second International Euro-Par Conference on Parallel Processingi
10/ 808,760.
Of?ce Action dated Jun. 6, 2005 from Related U.S. Appl. No.
09/799,338.
Of?ce Action dated Sep. 1, 2006 from Related U.S. Appl. No.
09/799,338.
Of?ce Action dated Sep. 27, 2007 from Related U.S. Appl. No.
vol. 1, 1996, 10 pages. Paolo Bellavista, Antonio Corradi, and Cesare Stefanelli, Java for On-Line Distributed Monitoring of Heterogeneous Systems and Ser vicesiThe Computer Journal, vol. 45, No. 6, 2002, 13 pages. Martin Shulz, John May, and John Gyllenhaal, DynTG: A Tool for
09/799,338.
Past, present, and future of?ce actions, amendments, arguments, and
other relevant documents or materials in the ?le history of U.S.
Letters Patent No. 6,202,199, issued Mar. 13, 2001, entitled System and Method for Remotely Analyzing the Execution of Computer
Programs.
Past, present, and future of?ce actions, amendments, arguments, and
other relevant documents or materials in the ?le history of U.S.
Letters Patent No. 6,282,701, issued Aug. 28, 2001, entitled System and Method for Monitoring and Analyzing the Execution of Com
Self Adaptable Monitoring Platform for Cluster Managementi Cluster Computing 5, 2002, 11 pages. Weiming Gu et al. Falcon: On-line monitoring and Steering of
Large-Scale Parallel Programs , Proceedings of the Fifth Sympo sium on the Frontiers of Massively Parallel Computation, 1995, 38
pages.
puter Programs.
Past, present, and future of?ce actions, amendments, arguments, and
other relevant documents or materials in the ?le history of U.S. Appl. No. 09/748,752, ?led Dec. 26, 2000, entitled System and Method for
Final Of?ce Action received for U.S. Appl. No. 10/ 808,760, mailed
on Mar. 3, 2010, 19 pages.
No. 09/923,972, ?led Aug. 7, 2001, entitled System and Method for System and Method for Conditional Tracing of Computer Programs,
now abandoned.
Non Final Of?ce Action received for U.S. Appl. No. 10/ 808,760, mailed on Aug. 20, 2010, 20 pages. Notice ofAllowance received for U.S. Appl. No. 10/808,760, mailed on Feb. 7, 2011, 11 pages. Bowring, James F., et al., Active Learning for Automatic Classi? cation of Software Behavior, Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis, (2004), pp. 195-205.
Hofmeyr, et al., Intrusion Detection using Sequences of System Calls, Journal of Computer Security, Retrieved on [Aug. 13, 2010],
Retrieved from the Internet <http://www.cs.unm.edu/-steveah/jcs
Letters Patent No. 7,058,928, issued Jun. 6, 2006, entitled System and Method for System and Method for Conditional Tracing of
Computer Programs.
Past, present, and future of?ce actions, amendments, arguments, and
other relevant documents or materials in the ?le history of U.S. Appl. No. 11/447,579, ?led Jun. 6, 2006, entitled System and Method for
3, 2010, 19 pages.
Of?ce Action received for U.S. Appl. No. 10/808,760, mailed on
System and Method for Conditional Tracing of Computer Programs. Past, present, and future of?ce actions, amendments, arguments, and
other relevant documents or materials in the ?le history of U.S. Appl. No. 09/799,338, ?led Mar. 5, 2001, entitled System and Method for Software Diagnostics Using a Combination of Visual and Dynamic Tracing, now abandoned.
Aug. 20, 2010, 20 pages. Bowring et al.,Active Learning for Automatic Classi?cation of Soft
ware Behavior, Proceedings of the 2004 ACM SIGSOFT interna
tional symposium on Software testing and analysis, vol. 29 No.4, Jul. 11-14, 2004, pp. 195-205.
* cited by examiner
US. Patent
Aug. 6, 2013
Sheet 1 0f 18
US 8,504,994 B2
//Z
/05 \
BUGTRAPPER ANALYZER
TI
DEVELOPER
f/z/
DEBUG INFORMATION
USER
m4 m2
\
BUCTRARRER
TRACED USER
ARRLICATION
ACENT
DUCTRARRER
TRACE LIBRARY
//Z4
COMMANDS
(CLIENT)
(e g
. . START
STOP
TRACE
>> BUGTRARPER
TRACE LIBRARY
NOTIFICATTONS (e.g.
(AGENT SIDE)
_ SUBPROCESS CREATED)
(CUENT SIDE)
l
TRACE BUFFER
(SHARED MEMORY)
14/6? [15
US. Patent
Aug. 6, 2013
Sheet 2 0f 18
US 8,504,994 B2
7/2
X
BDCTRARRER
00
f.
I 9 A I?
DEVELOPER I
3 5;
ANALYZER
TRACE
TREE
/J0
II
/Z2
TRACE LOG FILE
f/Z/
DEBUG INFORMATION
//2
(A
g
DEVELOPER
/06\
BDCTRARRER ANALYZER COMMANDS (6.9. START/STOP TRACE)
BOOTRARRER w
//02
TRACED USER APPLICATION
(CLIENT)
BLICTRARRER
TRACE LIBRARY
NOTIFICATIONS (evg-
TRACE LIBRARY
(ACENT SIDE)
_ SUBPROCESS CREATED)
(CLIENT SIDE)
l
TRACE
TREE
/05
\
725
i/ZZ\
TRACE
US. Patent
Aug. 6, 2013
Sheet 3 0f 18
US 8,504,994 B2
:SIag8?s;
_ @DU xL2m3u6q51o2ims
EA, % E@ @
m?2E39/8tw5m%h
l/ Q kw
US. Patent
Aug. 6, 2013
Sheet 5 0f 18
US 8,504,994 B2
W400
405
lgrocess List
/
IXII
Nome
Exploring - C:\BugTropper\fire\Rele..
PIDI
115
Fire Simulation
113
CE
Concei
Refresh
[/61 4
US. Patent
Aug. 6, 2013
Sheet 7 0f 18
US 8,504,994 B2
602
i161
US. Patent
Aug. 6, 2013
Sheet 9 0f 18
US 8,504,994 B2
f 802
I E] File Class Tobe Nome Process = E C: \Progrom Fi|es\I\/luTek\BugTrc1pper\F
E gE E? E EETI E Threod Thread Thread Thread 57 65 125 69
FIG (9
US. Patent
Aug. 6, 2013
Sheet 10 0f 18
US 8,504,994 B2
K900
BugTrapper Agent Attach to running processes
Check enabled processes that you want to trace.
g?
List of processes:
iBl6gJSbounce\Debu
< Back
Finish
Cancel
906
902/ 904/
FIG: ,9
US. Patent
Aug. 6, 2013
Sheet 11 0f 18
US 8,504,994 B2
K7000
BugTrapper Agent Start processes
To start and then trace an enabled process in the list, check the process and fill in the fields below or use
El
C: \BugTrapper\bounce\Debug\bounce
Parameters
\\/ 0/ 6
< Back
i
7006/
Finish
i
Cancel
7004
7002
[/61 [0
US. Patent
Aug. 6, 2013
Sheet 15 0f 18
US 8,504,994 B2
7402
CREATE_SUSPENDED STATE
I
ALLOCATE MEMORY AND LOAD THE TRACE RUNTIME INITIALIZATION ROUTINE
7404
7406
I
OVERWRITE ENTRY POINT OF CLIENT WITH A JUMP TO TRACE RUNTIME INITIALIZATION
l
START CLIENT PROCESS (WHICH EXECUTES JUMP TO RUNTIME INITIALIZATION)
7408
7470
I
RESTORE ORICIONAL ENTRY POINT CODE AND SUSPEND CLIENT PROCESS
l
CALL INST_ATTACH ROUTINE AND LOAD INSTRUMENTAION DLL
7472
14/61 14
US. Patent
Aug. 6, 2013
Sheet 16 0f 18
US 8,504,994 B2
M2675
NQmK
%\\ %\
US. Patent
Aug. 6, 2013
Sheet 17 0f 18
US 8,504,994 B2
VZ%A_M@
:22% 2; EM 823 m
@W E