IP Library Granted Patent US 10,379,849
Granted Patent B1
US 10,379,849 · App. 15/886,211 · Granted Aug 13, 2019

Methods and apparatus for visualization of contextual code execution

Inventors: Adam Jasinski (Dublin, IE); Carlos Manuel dos Santos Martins Rodrigues (Sallynoggin, IE); Donal Carpenter (Wicklow, IE); Zygimantas Mockus (Dublin, IE)
Assignee: Dell Products L.P.
G06F8/75G06F8/433G06F11/3604G06F11/3636
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 10,379,849
App. No.
15/886,211
Granted
Aug 13, 2019
Kind
B1
Abstract

Methods, apparatus and computer program products are provided for the visualization of software execution. One method comprises: generating, using a static code analysis, a data flow diagram illustrating a plurality of possible code execution paths of software code; marking, using an execution profiler, a particular execution path through the data flow diagram for a specific execution scenario; and enriching one or more nodes in the data flow diagram marked with the particular execution path for the specific execution scenario with information extracted from one or more application logs. The marked data flow diagram may be enriched, for example, by extracting a particular portion of a log file and tagging a corresponding portion of the data flow diagram with the extracted particular portion of the log file. The extracted log information may comprise, for example, a timestamp, a log category, a software module name, a function name and/or contextual information.

Claims (43)

1. A method, comprising:

performing a static code analysis to generate a data flow diagram illustrating a plurality of possible code execution paths of software code;

marking, using an execution profiler, a particular execution path through the data flow diagram for a specific execution scenario,

wherein said marking step obtains said particular execution path by monitoring one or more of application calls and a call stack; and

enriching, using at least one processing device, one or more nodes in said data flow diagram marked with said particular execution path for said specific execution scenario with information extracted from one or more application logs,

wherein said enriching comprises processing the one or more applications logs to identify and extract at least a particular portion of said one or more application logs and

tagging a corresponding portion of said data flow diagram marked with said particular execution path for said specific execution scenario with said extracted particular portion of said one or more application logs.

2. The method of claim 1 , wherein said specific execution scenario corresponds to one or more of a particular use case and a particular application.

3. The method of claim 1 , wherein said enriching step further comprises the steps of searching said one or more application logs for one or more of timestamps, software module names, function names and additional identifiers that correlate with said particular execution path for said specific execution scenario.

4. The method of claim 1 , wherein said information extracted from said one or more application logs comprises one or more of a timestamp, a log category, a software module name and a function name.

5. The method of claim 1 , wherein said marking step obtains said particular execution path by monitoring one or more of application calls and a call stack.

6. The method of claim 1 , wherein said marking step further comprises the step of visually highlighting a plurality of nodes of said data flow diagram included in said particular execution path.

7. The method of claim 1 , wherein said information extracted from said one or more application logs comprises contextual information.

8. The method of claim 1 , wherein said enriching step is repeated multiple times for different use cases to provide multiple enriched execution path diagrams for technical documentation.

9. The method of claim 1 , wherein said enriching step is repeated multiple times for different use cases to provide multiple enriched execution path diagrams for technical documentation.

10. The method of claim 1 , wherein said enriching step is repeated multiple times for different use cases to provide multiple enriched execution path diagrams for technical documentation.

11. A computer program product, comprising a tangible machine-readable storage medium having encoded therein executable code of one or more software programs, wherein the one or more software programs when executed by at least one processing device perform the following steps:

performing a static code analysis to generate a data flow diagram illustrating a plurality of possible code execution paths of software code;

marking, using an execution profiler, a particular execution path through the data flow diagram for a specific execution scenario,

wherein said marking step obtains said particular execution path by monitoring one or more of application calls and a call stack; and

enriching, using at least one processing device, one or more nodes in said data flow diagram marked with said particular execution path for said specific execution scenario with information extracted from one or more application logs,

wherein said enriching comprises processing the one or more applications logs to identify and extract at least a particular portion of said one or more application logs and

tagging a corresponding portion of said data flow diagram marked with said particular execution path for said specific execution scenario with said extracted particular portion of said one or more application logs.

12. The computer program product of claim 11 , wherein said enriching step further comprises the steps of searching said one or more application logs for one or more of timestamps, software module names, function names and additional identifiers that correlate with said particular execution path for said specific execution scenario.

13. The computer program product of claim 11 , wherein said information extracted from said one or more application logs comprises one or more of a timestamp, a log category, a software module name, a function name and contextual information.

14. The computer program product of claim 11 , wherein said marking step obtains said particular execution path by monitoring one or more of application calls and a call stack.

15. The computer program product of claim 11 , wherein said marking step further comprises the step of visually highlighting a plurality of nodes of said data flow diagram included in said particular execution path.

16. The computer program product of claim 11 , wherein said specific execution scenario corresponds to one or more of a particular use case and a particular application.

17. An apparatus, comprising:

a memory; and

at least one processing device, coupled to the memory, operative to implement the following steps:

performing a static code analysis to generate a data flow diagram illustrating a plurality of possible code execution paths of software code;

marking, using an execution profiler, a particular execution path through the data flow diagram for a specific execution scenario,

wherein said marking step obtains said particular execution path by monitoring one or more of application calls and a call stack; and

enriching, using said at least one processing device, one or more nodes in said data flow diagram marked with said particular execution path for said specific execution scenario with information extracted from one or more application logs,

wherein said enriching comprises processing the one or more applications logs to identify and retrieve at least a particular portion of said one or more application logs and

tagging a corresponding portion of said data flow diagram marked with said particular execution path for said specific execution scenario with said extracted particular portion of said one or more application log.

18. The apparatus of claim 17 , wherein said specific execution scenario corresponds to one or more of a particular use case and a particular application.

19. The apparatus of claim 17 , wherein said enriching step further comprises the steps of searching said one or more application logs for one or more of timestamps, software module names, function names and additional identifiers that correlate with said particular execution path for said specific execution scenario.

20. The apparatus of claim 17 , wherein said information extracted from said one or more application logs comprises one or more of a timestamp, a log category, a software module name and a function name.

21. The apparatus of claim 17 , wherein said marking step obtains said particular execution path by monitoring one or more of application calls and a call stack.

22. The apparatus of claim 17 , wherein said marking step further comprises the step of visually highlighting a plurality of nodes of said data flow diagram included in said particular execution path.

23. The apparatus of claim 17 , wherein said information extracted from said one or more application logs comprises contextual information.

Assignments (12)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (051302/0528) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.); SECUREWORKS CORP.
Reel/Frame 060438/0593 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045482/0131) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 061749/0924 →
RELEASE OF SECURITY INTEREST AT REEL 045482 FRAME 0395 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0314 →
RELEASE OF SECURITY INTEREST AT REEL 051449 FRAME 0728 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
Reel/Frame 058002/0010 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Dec 31, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 051449/0728 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Dec 16, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 051302/0528 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 045482/0395 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 045482/0131 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2018
From: JASINSKI, ADAM; MARTINS RODRIGUES, CARLOS MANUEL DOS SANTOS; CARPENTER, DONAL; MOCKUS, ZYGIMANTAS
To: DELL PRODUCTS L.P.
Reel/Frame 044800/0494 →
Cited By (1)
US 12,407,718