IP Library Granted Patent US 12711009
Granted Patent B2
US 12711009 · App. 18/507,287 · Granted Aug 18, 2026

Detecting and repairing reliability issues in operating systems and applications using a generative artificial intelligence system

Inventors: Rajeev Prabhu Acharya (Redmond, WA); Siamak Ahari (Seattle, WA); Vinay Rao (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F11/0793G06F8/70G06F11/0766G06F11/3604
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 12711009
App. No.
18/507,287
Granted
Aug 18, 2026
Kind
B2
Abstract

Examples of the present disclosure describe systems and methods for automatically detecting and repairing reliability issues in operating systems and applications using a generative artificial intelligence (“AI”) system. In examples, a generative AI system receives a request to evaluate a detected issue in a software service or application. In response, the system analyzes error information associated with the detected issue to build an error context for the software code that caused the detected issue. The error context is used to identify the location of the software code file that comprises the software code. The error context and the software code file are used to identify a prompt. The prompt, the error context, and/or the identified software code are provided as input to a language model. The language model provides an output that is responsive to the user request and may perform actions to further evaluate or repair the detected issue.

Claims (74)

1 . A system comprising:

a processing system; and

memory comprising computer executable instructions that, when executed, perform operations comprising:

receiving a user request to evaluate a detected issue in a software service or application;

building a context for a portion of software code that caused or contributed to the detected issue, wherein the context comprises error information corresponding to a failure of the portion of software code;

based on the context, identifying a storage location of a software code file comprising the portion of software code;

identifying an instruction corresponding to the user request by selecting a prompt from a predefined list of candidate prompts based on a match between a term in the user request and a corresponding term in the prompt, wherein each prompt in the predefined list of candidate prompts is mapped to a usage scenario or at least one term;

providing as input to a language model:

the context;

lines of software code corresponding to the portion of software code, wherein the lines of software code are extracted from the software code file; and

the instruction;

receiving, from the language model, output responsive to the user request;

generating a repaired version of the portion of software code, wherein the repaired version of the portion of software code includes an indication of lines of software code that have been modified; and

causing the repaired version of the portion of software code to replace or modify the portion of software code.

2 . The system of claim 1 , wherein the instruction corresponds to a prompt that indicates an intention of the user request.

3 . The system of claim 1 , wherein receiving the user request comprises:

an application programming interface (API) that includes a set of instructions for providing a natural language explanation of indicated software code; and

executing the set of instructions to provide the natural language explanation of the indicated software code.

4 . The system of claim 1 , wherein receiving the user request comprises:

an application programming interface (API) that includes a set of instructions for providing a natural language explanation of a cause of failure for indicated software code; and

executing the set of instructions to provide the natural language explanation of the cause of failure for the indicated software code.

5 . The system of claim 1 , wherein receiving the user request comprises:

an application programming interface (API) that includes a set of instructions for providing a natural language explanation of a proposed solution to repair indicated software code; and

executing the set of instructions to provide the natural language explanation of the proposed solution to repair the indicated software code.

6 . The system of claim 1 , further comprising:

a software code repair application programming interface (API) that enables requesting a solution to repair indicated software code.

7 . The system of claim 6 , wherein the solution received from the software code repair API includes the repaired version of the indicated software code.

8 . The system of claim 6 , further comprising:

a pull request application programming interface (API) that enables requesting a pull request associated with the indicated software code.

9 . The system of claim 8 , wherein, in response to the pull request, the pull request API provides the pull request and software test for testing the indicated software code.

10 . The system of claim 1 , wherein building the context for the portion of software code comprises identifying the error information in an error file associated with the portion of software code.

11 . The system of claim 10 , wherein the error file is a memory dump file.

12 . The system of claim 10 , wherein the error file is an incident report or an event log.

13 . The system of claim 1 , wherein receiving the user request to evaluate the detected issue comprises receiving an identifier of the portion of software code.

14 . The system of claim 1 , wherein building the context for the portion of software code comprises:

receiving the user request at an application programming interface (API) for evaluating the detected issue; and

identifying, by the API, an identifier of the portion of software code based on metadata associated with the portion of software code, the metadata being provided by a user interface comprising the API.

15 . The system of claim 1 , wherein the error information includes at least one of exception text associated with a failure of the portion of software code or call stack information associated with the failure of the portion of software code.

16 . A method comprising:

receiving a request to evaluate a detected issue in software code;

building a context for a portion of the software code that caused or contributed to the detected issue, wherein the context comprises error information corresponding to a failure of the portion of the software code;

based on the context, identifying a storage location of a software code file comprising the portion of the software code by evaluating the context and one or more symbol files associated with the software code;

identifying an instruction corresponding to the request by identifying a prompt based on at least one of:

the request;

the context; or

lines of the portion of software code;

providing as input to a language model:

the context;

lines of software code from the software code file; and

the instruction;

receiving, from the language model, output responsive to the request;

based on the output, generating a repaired version of the portion of software code; and

causing the repaired version of the portion of software code to replace or modify the portion of software code.

17 . The method of claim 16 , wherein the language model is a large language model (LLM) that is a generative artificial intelligence (AI) model.

18 . The method of claim 16 , wherein identifying the prompt comprises:

determining a meaning of at least one term in the request by performing a lexical semantic analysis of the request;

determining an intent of the request by performing intent classification based on the lexical semantic analysis; and

dynamically generating the prompt based on determining the intent of the request, wherein the prompt comprises one or more terms matching are semantically related to the at least one term in the request.

19 . A device comprising:

a processing system; and

memory comprising computer executable instructions that, when executed, perform operations comprising:

receiving a user request to evaluate a detected issue in a software code;

building a context for a portion of software code that caused or contributed to the detected issue, wherein the context indicates error information associated with the portion of software code;

identifying lines of software code corresponding to the portion of software code in a software code file;

selecting an instruction from an existing list of candidate instructions based on a match between a term in the user request and a corresponding term in the instruction, wherein each instruction in the existing list of candidate instructions is mapped to a usage scenario providing as input to a language model:

the context;

the lines of software code corresponding to the portion of software code; and

the instruction;

receiving, from the language model, output associated with detecting or repairing the portion of software code;

generating revised software code based on the output, wherein the revised software code is used to repair the portion of software code; and

causing the revised software code to replace or modify the portion of software code.

20 . The device of claim 19 , wherein repairing the portion of software code comprises:

generating a pull request based on the revised software code; and

executing the pull request to address the detected issue, wherein executing the pull request replaces or modifies the portion of software code using the revised software code.