IP Library › Granted Patent US 12,645,880
Granted Patent B2
US 12,645,880 · App. 18/062,962 · Granted Jun 2, 2026

Management system for software incidents

Inventors: Puneet Juneja (Eden Prairie, MN); Hari Sankar Jayasankar Sasilekha (Fort Mill, SC); Pawan Sharma (New Delhi, IN)
Assignee: Optum, Inc.
G06F40/295G06F16/316G06F16/3334G06F18/22G06F18/24147
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,645,880
App. No.
18/062,962
Granted
Jun 2, 2026
Kind
B2
Abstract

A method comprises receiving an incident report comprising a textual description of an incident; generating a regularized incident report in which out-of-vocabulary terms in the received incident report are replaced with in-vocabulary terms; determining importance measures for a plurality of incident report terms, wherein each of the incident report terms is in the regularized incident report; generating an incident matrix in which similarity values are defined for combinations of terms in the incident report and terms in a predetermined term set; generating an incident vector based on the incident matrix and the importance measures for the terms in the incident report; applying one or more machine learning (ML) models that identify, based on the incident vector, relevant software support records and/or software modules, wherein the relevant software support records and the software modules are potentially relevant to the incident; and outputting data identifying relevant software support records and/or software modules.

Claims (69)

1 . A computer-implemented method performed by a computing system, the computer-implemented method comprising:

storing, by one or more processors, a corpus of software support records;

receiving, by the one or more processors, an incident report comprising a textual description of an incident involving a software system;

generating, by the one or more processors, a regularized incident report in which out-of-vocabulary terms in the incident report are replaced with in-vocabulary terms;

determining, by the one or more processors, importance measures for a plurality of incident report terms, wherein each of the incident report terms is in the regularized incident report, wherein determining the importance measures comprises weighting parts of speech of the regularized incident report, and wherein the importance measures are determined based on weightings of the parts of speech;

generating, by the one or more processors, an incident matrix in which similarity values are defined for combinations of the incident report terms in the incident report and terms in a predetermined term set;

generating, by the one or more processors, an incident vector based on the incident matrix and the importance measures for the plurality of incident report terms in the regularized incident report;

applying, by the one or more processors, one or more machine learning (ML) models that identify, based on the incident vector, one or more relevant software support records in the corpus of software support records, wherein the one or more relevant software support records are potentially relevant to the incident;

identifying, by the one or more processors, a cluster of neighboring incident report vectors in an n-dimensional space of a plurality of neighboring incident vectors that each correspond to an incident report for a software module;

determining, by the one or more processors, one or more relevant software modules based on the identification of the cluster of the neighboring incident report vectors; and

outputting, by the one or more processors, data identifying the one or more relevant software support records and the one or more relevant software modules.

2 . The computer-implemented method of claim 1 , wherein determining the importance measures for the plurality of incident report terms comprises, for each incident report term of the plurality of incident report terms, determining the importance measure for the incident report term based on (1) a frequency of the incident report term in the regularized incident report, and (2) an inverse frequency of a total number of incident reports in an incident report dataset relative to a quantity of the incident reports in the incident report dataset that contain the incident report term.

3 . The computer-implemented method of claim 1 , wherein the one or more relevant software support records include one or more of one or more bug fix records or one or more records of one or more resolutions of one or more incidents similar to the incident.

4 . The computer-implemented method of claim 1 , wherein identifying the one or more relevant software support records comprises:

generating a plurality of incident vectors for the corpus of the software support records;

calculating a plurality of cosine similarity scores for the incident vector and the plurality of incident vectors for the corpus of software support records; and

identifying the one or more relevant software support records based on the plurality of cosine similarity scores.

5 . The computer-implemented method of claim 1 , wherein applying the one or more ML models comprises applying a k-nearest neighbor (KNN) ML model that identifies the one or more relevant software modules.

6 . The computer-implemented method of claim 1 , wherein generating the incident matrix comprises, for each respective incident report term in the plurality of incident report terms in the regularized incident report, applying one or more neural network models that take the respective incident report term as input and that output a similarity value for each term in the predetermined term set.

7 . The computer-implemented method of claim 1 , wherein the plurality of terms in the predetermined term set comprises a plurality of predefined terms, and wherein generating the incident vector comprises, for each respective predefined term in the plurality of predefined terms:

for each respective combination of the respective predefined term and an incident report term in the regularized incident report, determining an intermediate value for the respective combination based on a similarity value for the respective combination and the importance measure for the incident report term;

calculating a cumulative value for the respective predefined term as a sum of the intermediate values for combinations of the respective predefined terms and the incident report terms; and

including the cumulative value for the respective predefined term in the incident vector.

8 . The computer-implemented method of claim 1 , wherein:

the one or more ML models comprise a plurality of ML models,

applying the one or more ML models further comprises applying each ML model of the plurality of ML models to identify a software module that is potentially relevant to the incident, and

determining the one or more relevant software modules comprises identifying one or more most-identified software modules as the one or more relevant software modules.

9 . A system comprising:

one or more processors; and

one or more storage devices configured to store an incident report comprising a textual description of an incident involving a software system and processor-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

storing a corpus of software support records;

generating a regularized incident report in which out-of-vocabulary terms in the regularized incident report are replaced with in-vocabulary terms;

determining importance measures for a plurality of incident report terms, wherein each of the incident report terms is in the regularized incident report, wherein determining the importance measures comprises weighting parts of speech of the regularized incident report, and wherein the importance measures are determined based on weightings of the parts of speech;

generating an incident matrix in which similarity values are defined for combinations of the incident report terms in the incident report and terms in a predetermined term set;

generating an incident vector based on the incident matrix and the importance measures for the plurality of incident report terms in the incident report;

applying one or more machine learning (ML) models that identify, based on the incident vector, one or more relevant software support records in the corpus of software support records, wherein the one or more relevant software support records are potentially relevant to the incident;

identifying a cluster of neighboring incident report vectors in an n-dimensional space of a plurality of neighboring incident vectors that each correspond to an incident report for a software module;

determining one or more relevant software modules based on the identification of the cluster of the neighboring incident report vectors; and

outputting data identifying the one or more relevant software support records and the one or more relevant software modules.

10 . The system of claim 9 , wherein determining the importance measures for the plurality of incident report terms comprises, for each incident report term of the plurality of incident report terms, determine the importance measure for the incident report term based on (1) a frequency of the incident report term in the regularized incident report, and (2) an inverse frequency of a total number of incident reports in an incident report dataset relative to a quantity of the incident reports in the incident report dataset that contain the incident report term.

11 . The system of claim 9 , wherein the one or more relevant software support records include one or more of one or more bug fix records or one or more records of one or more resolutions of one or more incidents similar to the incident.

12 . The system of claim 9 , wherein identifying the one or more relevant software support records comprises:

generating a plurality of incident vectors for the corpus of the software support records;

calculating a plurality of cosine similarity scores for the incident vector and the plurality of incident vectors for the corpus of the software support records; and

identifying the one or more relevant software support records based on the plurality of cosine similarity scores.

13 . The system of claim 9 , wherein applying the one or more ML models comprises applying a k-nearest neighbor (KNN) ML model that identifies the one or more relevant software modules.

14 . The system of claim 9 , wherein generating the incident matrix comprises for each respective incident report term in the plurality of incident report terms in the regularized incident report, applying a neural network model that takes the respective incident report term as input and that outputs a similarity value for each term in the predetermined term set.

15 . The system of claim 9 , wherein the plurality of terms in the predetermined term set comprise a plurality of predefined terms, and wherein generating the incident vector comprises for each respective predefined term in the plurality of predefined terms:

for each respective combination of the respective predefined term and an incident report term in the regularized incident report, determining an intermediate value for the respective combination based on a similarity value for the respective combination and the importance measure for the incident report term;

calculating a cumulative value for the respective predefined term as a sum of the intermediate values for combinations of the respective predefined terms and the incident report terms; and

including the cumulative value for the respective predefined term in the incident vector.

16 . One or more non-transitory computer-readable storage media comprising processor-executable instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

storing a corpus of software support records;

receiving an incident report comprising a textual description of an incident involving a software system;

generating a regularized incident report in which out-of-vocabulary terms in the received incident report are replaced with in-vocabulary terms;

determining importance measures for a plurality of incident report terms, wherein each of the incident report terms is in the regularized incident report, wherein determining the importance measures includes weighting parts of speech of the regularized incident report, and wherein the importance measures are determined based on weightings of the parts of speech;

generating an incident matrix in which similarity values are defined for combinations of incident report terms in the incident report and terms in a predetermined term set;

generating an incident vector based on the incident matrix and the importance measures for the incident report terms in the incident report;

applying one or more machine learning (ML) models that identify, based on the incident vector, relevant software support records in the corpus of software support records, wherein the relevant software support records are potentially relevant to the incident;

identifying a cluster of neighboring incident report vectors in an n-dimensional space of a plurality of neighboring incident vectors that each correspond to an incident report for a software module;

determining relevant software modules based on the identification of the cluster of the neighboring incident report vectors; and

outputting data identifying the relevant software support records and the relevant software modules.

17 . The one or more non-transitory computer-readable storage media of claim 16 ,

wherein generating the incident matrix comprises for each respective incident report term in the plurality of incident report terms in the regularized incident report, applying one or more neural network models that take the respective incident report term as input and that output a similarity value for each term in the predetermined term set,

wherein the plurality of terms in the predetermined term set comprises a plurality of predefined terms, and

wherein generating the incident vector comprises for each respective predefined term in the plurality of predefined terms:

for each respective combination of the respective predefined term and an incident report term in the regularized incident report, determining an intermediate value for the respective combination based on a similarity value for the respective combination and the importance measure for the incident report term;

calculating a cumulative value for the respective predefined term as a sum of the intermediate values for combinations of the respective predefined terms and the incident report terms; and

including the cumulative value for the respective predefined term in the incident vector.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2022
From: JUNEJA, PUNEET; JAYASANKAR SASILEKHA, HARI SANKAR; SHARMA, PAWAN
To: OPTUM, INC.
Reel/Frame 062190/0299 →
Continuity (1)
Related Publication 20240193367A1 · Jun 13, 2024
References Cited (16)
US 8910120B2 · Srinivasa et al. · 2014 [cited by applicant]
US 10558554B2 · Bhandarkar et al. · 2020 [cited by applicant]
US 10740216B1 · Parent · 2020 [cited by applicant]
US 10891218B2 · Champlin-Scharff et al. · 2021 [cited by applicant]
US 11004005B1 · Sirois · 2021 [cited by examiner]
US 11061805B2 · Loyola et al. · 2021 [cited by applicant]
US 20170262858A1 · Rajaram · 2017 [cited by examiner]
US 20190361760A1 · Krishnan · 2019 [cited by examiner]
US 20200089765A1 · Jayaraman · 2020 [cited by examiner]
US 20210397625A1 · Wan · 2021 [cited by examiner]
Agrawal et al., “Developing bug severity prediction models using word2vec”, International Journal of Cognitive Computing in Engineering, vol. 2, Aug. 16, 2021, pp. 104-115. [cited by applicant]
Du et al., “The Automatic Classification of Fault Trigger Based Bug Report”, 2017 IEEE 28th International Symposium on Software Reliability Engineering Workshops, IEEE Computer Society, Oct. 23, 2017, pp. 259-265. [cited by applicant]
Lee et al., “Applying Deep Learning Based Automatic Bug Triager to Industrial Projects”, Proceedings of the 2017 11th Joint Meeting on foundations of software engineering, Aug. 21, 2017, pp. 926-931. [cited by applicant]
Mahfoodh et al., “Identifying Duplicate Bug Records Using Word2Vec Prediction with Software Risk Analysis”, International Journal of Computing and Digital Systems, vol. 11, No. 1, Feb. 15, 2022, pp. 763-773. [cited by applicant]
Wikipedia, “Word2vec”, Wikimedia Foundation, Inc., 2022, 8 pp., Retrieved from the Internet on Sep. 13, 2022 from URL: https://en.wikipedia.org/wiki/Word2vec. [cited by applicant]
Ye et al., “From Word Embeddings To Document Similarities for Improved Information Retrieval in Software Engineering”, Proceedings of the 38th international conference on software engineering, May 14, 2016, pp. 404-415. [cited by applicant]