IP Library Granted Patent US 7,058,927
Granted Patent B2
US 7,058,927 · App. 10/014,107 · Granted Jun 6, 2006

Computer software run-time analysis systems and methods

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,058,927
App. No.
10/014,107
Granted
Jun 6, 2006
Kind
B2
Abstract

A system for run-time analysis of software programs using traces comprises a software program including two or more trace points, a trace control channel, a trace channel and a runtime tracer. The trace control channel includes an identification of one or more selected trace points of the two or more trace points. The runtime tracer is configured to concurrently execute a first and a second instance of the software program. Each instance of the first and second instances is configured to interact with the trace control channel to save trace information corresponding to the one or more selected trace points in the trace channel.

Claims (41)

1. A system comprising:

a software program including two or more trace points;

a trace control channel;

a trace channel; and

a runtime tracer;

wherein the trace control channel includes an identification of one or more selected trace points of the two or more trace points;

wherein the runtime tracer is configured to concurrently execute a first and a second instance of the software program;

wherein each of the first and second instances of the software program is configured to interact with the trace control channel to save trace information corresponding to the one or more selected trace points in the trace channel.

2. The system as recited in claim 1 , wherein the runtime tracer comprises a first computer, wherein the first and second instances of the software program are executed on the first computer.

3. The system as recited in claim 1 , wherein the runtime tracer comprises a first and a second computer, wherein the first instance of the software program is executed at the first computer, and the second instance of the software program is executed at the second computer.

4. The system as recited in claim 3 , further comprising a shared memory accessible to the first and second computers over a network, wherein the trace channel is included within the shared memory.

5. The system as recited in claim 1 , further comprising a first shared memory, wherein the trace channel is included within the first shared memory.

6. The system as recited in claim 5 , wherein the trace control channel is included within the first shared memory.

7. The system as recited in claim 5 , further comprising a second shared memory, wherein the trace control channel is included within the second shared memory.

8. The system as recited in claim 1 , wherein the first instance of the software program corresponds to a first version of the software program, and the second instance of the software program corresponds to a second version of the software program, wherein the second version differs from the first version.

9. The system as recited in claim 1 , further including a snap tool configured to create an instantaneous copy of contents of the trace channel.

10. The system as recited in claim 1 , wherein contents of the trace control channel are dynamically modified during execution of the first and second instances of the software program by a computer operator.

11. The system as recited in claim 1 , wherein the trace control channel is configured using pre-set settings.

12. The system as recited in claim 1 , further comprising a relational database comprising two or more entries, wherein each entry of the two or more entries corresponds to a respective trace point of the two or more trace points, wherein each entry of the two or more entries includes human-readable trace information for the respective trace point.

13. The system as recited in claim 12 , further comprising a reporter configured to provide a human-readable listing corresponding to an instantaneous snapshot of the trace channel.

14. A method comprising:

concurrently executing a first and a second instance of a software program including two or more trace points;

the first instance of the software program interacting with a trace control channel including an identification of one or more selected trace points of the two or more trace points to save trace information corresponding to the one or more selected trace points in a trace channel; and

the second instance of the software program interacting with the trace control channel to save trace information corresponding to the one or more selected trace points in the trace channel.

15. The method as recited in claim 14 , wherein the first instance of the software program is executed on a first computer, and the second instance of the software program is executed on the first computer.

16. The method as recited in claim 14 , wherein the first instance of the software program is executed at a first computer, and the second instance of the software program is executed at a second computer.

17. The method as recited in claim 16 , wherein the trace channel is included within a shared memory accessible to the first and second computers over a network.

18. The method as recited in claim 14 , wherein the trace channel is included within a first shared memory.

19. The method as recited in claim 18 , wherein the trace control channel is included within the first shared memory.

20. The method as recited in claim 18 , wherein the trace control channel is included within a second shared memory.

21. The method as recited in claim 14 , wherein the first instance of the software program corresponds to a first version of the software program, and the second instance of the software program corresponds to a second version of the software program, wherein the second version differs from the first version.

22. The method as recited in claim 14 , further comprising:

creating an instantaneous copy of contents of the trace channel.

23. The method as recited in claim 14 , further comprising:

dynamically modifying contents of the trace channel control during execution of the first and second instances of the software program.

24. The method as recited in claim 14 , further comprising:

configuring the trace control channel using pre-set settings.

25. The method as recited in claim 14 , further comprising:

storing two or more entries in a relational database, wherein each entry of the two or more entries corresponds to a respective trace point of the two or more trace points, and wherein each entry of the two or more entries includes human-readable trace information for the respective trace point.

26. The method as recited in claim 25 , further comprising:

providing a human-readable listing corresponding to an instantaneous snapshot of the trace channel.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2015
From: SYMANTEC OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 036199/0642 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION. Recorded Mar 5, 2012
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 027819/0462 →
CHANGE OF NAME Recorded Sep 26, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 019872/0979 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2003
From: KERNEL GROUP, INCORPORATED, THE
To: VERITAS OPERATING CORPORATION
Reel/Frame 014156/0749 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2003
From: JEFFE, PETER; BRAMHALL, BRUCE
To: KERNEL GROUP, INCORPORATED, THE
Reel/Frame 014156/0756 →