IP Library Granted Patent US 12,332,767
Granted Patent B2
US 12,332,767 · App. 18/422,216 · Granted Jun 17, 2025

Techniques for automatically triaging and describing issues detected during use of a software application

Inventors: Renzo F. Lucioni (Somerville, MA); Nikhil S. Phatak (Somerville, MA)
Assignee: LogRocket, Inc.
G06F11/3608G06F11/366G06F11/3698
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 12,332,767
App. No.
18/422,216
Granted
Jun 17, 2025
Kind
B2
Abstract

Described herein are techniques that use machine learning to triage issues by classifying the issues into impact levels. Described herein are also techniques for generating a natural language description of issues that occur in sessions of a software application. The techniques collect data during sessions in which a user is interacting with the software application. The techniques process the data collected during the sessions using a language model to obtain natural language descriptions of issues that occur in the sessions.

Claims (79)

1. A system for automatically generating natural language descriptions of issues that occur during interactions of users with a software application, the system comprising:

a processor; and

a non-transitory computer-readable storage medium storing instructions that, when executed by the processor, cause the processor to:

access data collected during at least one software application session in which at least one user was interacting with the software application and in which an issue occurred;

generate, using the data collected during the at least one software application session, at least one representation of the at least one software application session, wherein the at least one representation of the at least one software application session indicates a sequence of events that occurred in the at least one software application session; and

process, using a description generation module, the at least one representation of the at least one software application session using an automated series of input/output exchanges between the description generation module and a generative machine learning model to obtain the natural language description of the issue that occurred in the at least one software application session, the processing comprising:

generate an input to the generative machine learning model that includes at least a portion of the at least one representation of the at least one software application session;

provide the input to the generative machine learning model to obtain an output;

generate a subsequent input to the generative machine learning model by processing the output;

provide the subsequent input to the generative machine learning model to obtain a subsequent output; and

generate the natural language description of the issue using the subsequent output obtained from the generative machine learning model.

2. The system of claim 1 , wherein the generative machine learning model is a large language model.

3. The system of claim 1 , wherein the generative machine learning model comprises a transformer model.

4. The system of claim 1 , wherein:

the output indicates whether any issue occurred in the at least one software application session; and

generating the subsequent input to the generative machine learning model by processing the output comprises:

when the output indicates that the issue occurred in the at least one software application session:

generate, as the subsequent input, a request for the generative machine learning model to generate the natural language description of the issue.

5. The system of claim 4 , wherein generating the input comprises:

generate a query for whether any issue occurred in the at least one software application session.

6. The system of claim 1 , wherein the instructions further cause the processor to:

determine, using the data collected during the at least one software application session, whether the at least one software application session meets one or more rules; and

process the at least one representation of the at least one software application session using the generative machine learning model to obtain the natural language description of the issue that occurred in the at least one software application session when it is determined that the at least one software application session meets the one or more rules.

7. The system of claim 6 , wherein determining, using the data collected during the at least one software application session, whether the at least one software application session meets the one or more rules comprises:

determine whether repeated user activity occurred proximate occurrence of the issue in the at least one software application session.

8. The system of claim 6 , wherein determining, using the data collected during the at least one software application session, whether the at least one software application session meets the one or more rules comprises:

determine whether the at least one representation includes a threshold number of events in the at least one representation of the at least one software application session.

9. The system of claim 6 , wherein determining, using the data collected during the at least one software application session, whether the at least one software application session meets the one or more rules comprises:

determine whether a particular error occurred in the software application during the at least one software application session.

10. The system of claim 1 , wherein:

the at least one software application session comprises a plurality of software application sessions;

the at least one representation of the at least one software application session comprises a plurality of representations of the plurality of software application sessions; and

processing, using the description generation module, the at least one representation of the at least one software application session using the automated series of input/output exchanges between the description generation module and the generative machine learning model to obtain the natural language description of the issue that occurred in the at least one software application session comprises:

process the plurality of session representations using the generative machine learning model to determine whether the issue occurred in at least a threshold number of the plurality of software application sessions; and

when it is determined that the issue occurred in at least the threshold number of the plurality of software application sessions:

provide input to the generative machine learning model requesting the natural language description of the issue.

11. The system of claim 10 , wherein the threshold number of software application sessions is 3 software application sessions.

12. The system of claim 10 , wherein processing the plurality of session representations using the generative machine learning model to determine whether the issue occurred in at least a threshold number of the plurality of software application sessions comprises:

process a first one of the plurality of representations using the generative machine learning model to obtain a first output indicating that an issue occurred in a first one of the plurality of software application sessions;

process a second one of the plurality of representations using the generative machine learning model to obtain a second output indicating whether the issue that occurred in the first software application session occurred in a second one of the plurality of software application sessions; and

determine whether the issue occurred in the threshold number of the plurality of software application sessions based at least in part on the first output and the second output.

13. The system of claim 1 , wherein generating the input comprises:

identify a portion of the at least one representation of the at least one software application session; and

generate the input for the generative machine learning model that includes the identified portion of the at least one representation of the at least one software application session and excludes portions of the at least one representation of the at least one software application session that is outside of the identified portion.

14. The system of claim 13 , wherein identifying the portion of the at least one representation of the at least one software application session comprises:

identify a portion of the at least one representation of the at least one software application session corresponding to a reaction of the at least one user to occurrence of the issue.

15. The system of claim 1 , wherein generating, using the data collected during the at least one software application session, the at least one representation of the at least one software application session comprises:

generating, for the at least one software application session, at least one textual transcription of the sequence of events that occurred in the at least one software application session.

16. The system of claim 1 , wherein generating, using the data collected during the at least one software application session, the at least one representation of the at least one software application session comprises:

generating, for the at least one software application session, at least one image and/or video indicating the sequence of events that occurred in the at least one software application session.

17. The system of claim 1 , wherein the instructions further cause the processor to:

detect occurrence of the issue in the at least one software application session; and

determine a classification of the issue into one of a plurality of impact levels using the data collected during the at least one software application session;

wherein processing the at least one representation of the at least one software application session comprises performing the processing when the issue is classified into a first impact level of the plurality of impact levels.

18. The system of claim 17 , wherein determining the classification of the issue into one of the plurality of impact levels using the data collected during the at least one software application session comprises:

generating a set of feature values associated with the issue using the data collected during the at least one software application session; and

providing the set of feature values associated with the issue as input to a trained machine learning model to obtain output indicating the classification of the issue into the first impact level.

19. The system of claim 17 , wherein determining the classification of the issue into one of the plurality of impact levels using the data collected during the at least one software application session comprises:

determining values of one or more parameters indicating reaction of one or more users in one or more respective GUIs of the software application in response to occurrence of the issue; and

determining the classification of the issue into one of the plurality of impact levels using the values of the one or more parameters.

20. A method for automatically generating natural language descriptions of issues that occur during interactions of users with a software application, the method comprising:

using a processor to perform:

accessing data collected during at least one software application session in which at least one user was interacting with the software application and in which an issue occurred;

generating, using the data collected during the at least one software application session, at least one representation of the at least one software application session, wherein the at least one representation of the at least one software application session indicates a sequence of events that occurred in the at least one software application session; and

processing, using a description generation module, the at least one representation of the at least one software application session using an automated series of input/output exchanges between the description generation module and a generative machine learning model to obtain the natural language description of the issue that occurred in the at least one software application session, the processing comprising:

generating, an input to the generative machine learning model that includes at least a portion of the at least one representation of the at least one software application session;

providing the input to the generative machine learning model to obtain an output;

generating a subsequent input to the generative machine learning model by processing the output;

providing the subsequent input to the generative machine learning model to obtain a subsequent output; and

generating the natural language description of the issue using the subsequent output obtained from the generative machine learning model.

21. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform a method for automatically generating natural language descriptions of issues that occur during interactions of users with a software application, the method comprising:

accessing data collected during at least one software application session in which at least one user was interacting with the software application and in which an issue occurred;

generating, using the data collected during the at least one software application session, at least one representation of the at least one software application session, wherein the at least one representation of the at least one software application session indicates a sequence of events that occurred in the at least one software application session; and

processing, using a description generation module, the at least one representation of the at least one software application session using an automated series of input/output exchanges between the description generation module and a generative machine learning model to obtain the natural language description of the issue that occurred in the at least one software application session, the processing comprising:

generating, an input to the generative machine learning model that includes at least a portion of the at least one representation of the at least one software application session;

providing the input to the generative machine learning model to obtain an output;

generating a subsequent input to the generative machine learning model by processing the output;

providing the subsequent input to the generative machine learning model to obtain a subsequent output; and

generating the natural language description of the issue using the subsequent output obtained from the generative machine learning model.

Assignments (3)
SECURITY INTEREST Recorded Jan 9, 2025
From: LOGROCKET, INC.
To: COMERICA BANK; COMERICA BANK
Reel/Frame 069801/0124 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2024
From: LUCIONI, RENZO F.; PHATAK, NIKHIL S.
To: LOGROCKET, INC.
Reel/Frame 067031/0019 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2024
From: LUCIONI, RENZO F.; PHATAK, NIKHIL S.
To: LOGROCKET, INC.
Reel/Frame 067031/0070 →
Continuity (3)
Provisional Application 63596215 · Nov 3, 2023
Provisional Application 63441701 · Jan 27, 2023
Related Publication 20240256424A1 · Aug 1, 2024
References Cited (27)
US 8935581B2 · Orzell et al. · 2015 [cited by applicant]
US 9129058B2 · Cui et al. · 2015 [cited by applicant]
US 10838571B2 · Webber et al. · 2020 [cited by applicant]
US 11714637B1 · Jin · 2023 [cited by examiner]
US 20040031017A1 · Vaidyanathan et al. · 2004 [cited by applicant]
US 20100191952A1 · Keinan · 2010 [cited by applicant]
US 20130246996A1 · Duggal et al. · 2013 [cited by applicant]
US 20170052870A1 · Shuvali et al. · 2017 [cited by applicant]
US 20170331910A1 · Lada et al. · 2017 [cited by applicant]
US 20180239904A1 · Kiner · 2018 [cited by examiner]
US 20180276063A1 · Mendes · 2018 [cited by examiner]
US 20190004823A1 · Walker et al. · 2019 [cited by applicant]
US 20190377652A1 · Sahoo · 2019 [cited by examiner]
US 20200026502A1 · Moore · 2020 [cited by examiner]
US 20200089761A1 · Guerra · 2020 [cited by examiner]
US 20200159499A1 · Bodin et al. · 2020 [cited by applicant]
US 20210091998A1 · Ellis et al. · 2021 [cited by applicant]
US 20220237104A1 · Davis · 2022 [cited by applicant]
US 20220244975A1 · Begert · 2022 [cited by examiner]
US 20220382858A1 · Ellam · 2022 [cited by examiner]
US 20230084422A1 · Shah · 2023 [cited by examiner]
US 20230109280A1 · Eberlein · 2023 [cited by examiner]
US 20240070434A1 · Garg · 2024 [cited by examiner]
US 20240104002A1 · Kumar · 2024 [cited by examiner]
US 20240256429A1 · Lucioni et al. · 2024 [cited by applicant]
International Search Report and Written Opinion mailed Apr. 25, 2024 for International Application No. PCT/US2024/012873. [cited by applicant]
[No Author Listed], “application impact level issues GUI”. Google Patents. Mar. 13, 2024. https://patents.google.com/?q=(application+impact+level+issues+GUI)&scholar&oq=application+impact+level+issue+GUI [last accessed … [cited by applicant]