IP Library Granted Patent US 11,765,249
Granted Patent B2
US 11,765,249 · App. 17/651,004 · Granted Sep 19, 2023

Facilitating developer efficiency and application quality

Inventors: Úlfar Erlingsson (Palo Alto, CA); Yijou Chen (Cupertino, CA)
Assignee: LACEWORK, INC.
H04L67/535G06F9/455G06F9/545G06F16/9024G06F16/9038G06F16/9535G06F16/9537G06F21/57H04L43/045H04L43/06H04L63/10H04L67/306G06F16/2456
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 11,765,249
App. No.
17/651,004
Granted
Sep 19, 2023
Kind
B2
Abstract

Improving developer efficiency and application quality, including: collecting, for an executing application, information describing the usage of the application; identifying one or more unencountered conditions that the application is configured to handle; identifying one or more encountered conditions that the application is not configured to handle; and presenting information describing the unencountered conditions that the application is configured to handle and the encountered conditions that the application is not configured to handle.

Claims (40)

1. A method of improving developer efficiency and application quality, the method comprising:

collecting, for an executing application, information describing the usage of the application, including:

receiving, from one or more agents configured to monitor network traffic to and from the application, a first portion of the information describing the network traffic to and from the application; and

receiving, from one or more tracepoints inserted into the application, a second portion of the information describing a state of the application during execution;

identifying one or more unencountered conditions that the application is configured to handle, wherein the one or more unencountered conditions comprise one or more conditions not encountered during execution of the application;

identifying one or more encountered conditions that the application is not configured to handle, wherein the one or more encountered conditions comprise one or more conditions encountered during execution of the application; and

presenting information describing the unencountered conditions that the application is configured to handle and the encountered conditions that the application is not configured to handle.

2. The method of claim 1 further comprising generating, based on the information describing the usage of the application, a test suite.

3. The method of claim 1 further comprising:

identifying a second application executing in another customer's environment that is similar to the application; and

wherein collecting information describing the usage of the application further comprises collecting information describing the usage of the second application.

4. The method of claim 1 further comprising generating, based on the information describing the unencountered conditions that the application is configured to handle and the encountered conditions that the application is not configured to handle, one or more recommended modifications to the application.

5. The method of claim 1 further comprising identifying, based on the one or more unencountered conditions that the application is configured to handle, one or more portions of the application for removal.

6. The method of claim 1 further comprising identifying, based on the information describing the usage of the application, one or more portions of the application as the most frequently used portions.

7. The method of claim 1 wherein collecting information describing the usage of the application further comprises collecting information describing the usage of a different version of the application.

8. The method of claim 1 wherein collecting information describing the usage of the application further comprises collecting information describing the usage of a similar application.

9. A system for improving developer efficiency and application quality, the system including one or more processors and memory storing computer program instructions that, when executed, cause the system to carry out the steps of:

collecting, for an executing application, information describing the usage of the application, including:

receiving, from one or more agents configured to monitor network traffic to and from the application, a first portion of the information describing the network traffic to and from the application; and

receiving, from one or more tracepoints inserted into the application, a second portion of the information describing a state of the application during execution;

identifying one or more unencountered conditions that the application is configured to handle, wherein the one or more unencountered conditions comprise one or more conditions not encountered during execution of the application;

identifying one or more encountered conditions that the application is not configured to handle, wherein the one or more encountered conditions comprise one or more conditions encountered during execution of the application; and

presenting information describing the unencountered conditions that the application is configured to handle and the encountered conditions that the application is not configured to handle.

10. The system of claim 9 further comprising computer program instructions that, when executed, cause the system to carry out the step of generating, based on the information describing the usage of the application, a test suite for the application.

11. The system of claim 9 wherein collecting information describing the usage of the application further comprises collecting information describing the usage of a second application that is similar to the application and that is also executing in another customer's environment.

12. The system of claim 9 further comprising computer program instructions that, when executed, cause the system to carry out the step of identifying, based on the one or more unencountered conditions that the application is configured to handle, one or more portions of the application for removal.

13. The system of claim 9 further comprising computer program instructions that, when executed, cause the system to carry out the step of identifying, based on the information describing the usage of the application, one or more portions of the application as the most frequently used portions.

14. The system of claim 9 wherein collecting information describing the usage of the application further comprises collecting information describing the usage of a different version of the application.

15. The system of claim 9 wherein collecting information describing the usage of the application further comprises collecting information describing the usage of a similar application.

16. A computer program product for improving developer efficiency and application quality, the computer program product disposed on a non-transitory computer readable medium, the computer program product including computer program instructions that, when executed, carry out the steps of:

collecting, for an executing application, information describing the usage of the application, including:

receiving, from one or more agents configured to monitor network traffic to and from the application, a first portion of the information describing the network traffic to and from the application; and

receiving, from one or more tracepoints inserted into the application, a second portion of the information describing a state of the application during execution;

identifying one or more unencountered conditions that the application is configured to handle, wherein the one or more unencountered conditions comprise one or more conditions not encountered during execution of the application;

identifying one or more encountered conditions that the application is not configured to handle, wherein the one or more encountered conditions comprise one or more conditions encountered during execution of the application; and

presenting information describing the unencountered conditions that the application is configured to handle and the encountered conditions that the application is not configured to handle.

17. The computer program product of claim 16 further comprising computer program instructions that, when executed, carry out the step of generating, based on the information describing the usage of the application, a test suite for the application.

18. The computer program product of claim 16 wherein collecting information describing the usage of the application further comprises collecting information describing the usage of a second application that is similar to the application and that is also executing in another customer's environment.

19. The computer program product of claim 16 further comprising computer program instructions that, when executed, carry out the step of identifying, based on the one or more unencountered conditions that the application is configured to handle, one or more portions of the application for removal.

20. The computer program product of claim 16 wherein presenting information describing the unencountered conditions that the application is configured to handle and the encountered conditions that the application is not configured to handle further comprises generating a polygraph associated with the application.

Assignments (2)
MERGER Recorded Oct 7, 2024
From: LACEWORK, INC.
To: FORTINET, INC.
Reel/Frame 069113/0745 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2022
From: ERLINGSSON, ÚLFAR; CHEN, YIJOU
To: LACEWORK, INC.
Reel/Frame 059006/0675 →