# US 12,216,657 B2 · Contextual searches in software development environments

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,216,657 B2
- Document ID: US12216657B2
- Status: Granted
- Kind: B2
- Application number: 18/184,751
- Filed: 2023-03-16
- Published: 2024-09-19
- Granted: 2025-02-04
- Earliest claimed: 2023-03-16
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Jeffrey Bisti; Justin Paul Largo; Colton Jarrett Cox
- Web page: https://patentgrep.com/patent/US12216657B2

## CPC

- G06F 16/2455: Query execution
- G06F 8/20: Software design
- G06F 8/427: {Parsing}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer-implemented method, a computer system and a computer program product introduce context to searches within a software development environment. The method includes receiving a search query from a user in the software development environment. The method also includes obtaining activity data from the software development environment. In addition, the method includes determining a context for the search query based on the activity data. The method further includes performing a search by entering search parameters in a search engine, where the search parameters include the search query and the context. Lastly, the method includes displaying a list of search results in the software development environment, where a weight based on the context is applied to each search result and the list of search results is displayed in order of the weight.

## Claims

### Claim 1

A computer-implemented method for identifying content relevant to a task being performed within a software development environment (SDE), the computer-implemented method comprising:
receiving a search query from a user in the SDE;
obtaining activity data and prior interactions of the SDE from the SDE;
training one or more machine learning models using the activity data, the SDE's prior interactions, and tasks known to the one or more machine learning models through the SDE's prior interactions;
integrating the one or more trained machine learning models in the SDE;
determining a context for the received search query and whether the received search query has sequential context using the one or more trained machine learning models;
predicting one or more steps in a programming objective in the activity data and a subsequent step in the programming objective using the one or more trained machine learning models upon determining that the received search query has sequential context;
introducing the determined context, as well as the predicted one or more steps and the subsequent step in the programming objective, to the received search query using the one or more trained machine learning models to modify search parameters of the received search query;
performing a search using a search engine integrated with the SDE, using the modified search parameters of the received search query; and
displaying a list of search results in the SDE, wherein the search results are weighted using the one or more trained machine learning models based on the determined context, as well as the predicted one or more steps and the subsequent step in the programming objective.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
monitoring a user interaction with each search result in the list of search results;
determining a success factor for a respective search result in the list of search results based on the user interaction; and
updating the SDE and the search engine using contextual feedback sent to the SDE and the search engine through a transmitted notification, wherein the contextual feedback is based on the monitored user interaction and the determined success factor.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, further comprising:
identifying the programming objective in the activity data, wherein the programming objective comprises a sequence of tasks; and
determining that the user is performing the task in the sequence of tasks.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the determining the context for the received search query further comprises using the one or more trained machine learning models to classify user searches based on relevant activity data from a software development session.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the weighting of the search results using the one or more trained machine learning models further comprises predicting a relevance of information to a software development session based on prior user searches.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the activity data is selected from a group consisting of: a programming language being used in the software development environment, a library called into the software development environment, a directory structure of a working file within the software development environment, and relevant terminal messages produced within the software development environment.

### Claim 7

A computer system for identifying content relevant to a task being performed within a software development environment (SDE), the computer system comprising:
one or more processors, one or more computer-readable memories, and one or more computer-readable storage media;
program instructions, stored on at least one of the one or more computer-readable storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to receive a search query from a user in the SDE;
program instructions, stored on at least one of the one or more computer-readable storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to obtain activity data and prior interactions of the SDE from the SDE;
program instructions, stored on at least one of the one or more computer-readable storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to train one or more machine learning models using the activity data, the SDE's prior interactions, and tasks known to the one or more machine learning models through the SDE's prior interactions;
program instructions, stored on at least one of the one or more storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to integrate the one or more trained machine learning models in the SDE;
program instructions, stored on at least one of the one or more storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to determine a context for the received search query and whether the received search query has sequential context using the one or more trained machine learning models;
program instructions, stored on at least one of the one or more storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to predict one or more steps in a programming objective in the activity data and a subsequent step in the programming objective using the one or more trained machine learning models upon determining that the received search query has sequential context;
program instructions, stored on at least one of the one or more storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to introduce the determined context, as well as the predicted one or more steps and the subsequent step in the programming objective, to the received search query using the one or more trained machine learning models to modify search parameters of the received search query;
program instructions, stored on at least one of the one or more storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to perform a search using a search engine integrated with the SDE, using the modified search parameters of the received search query; and
program instructions, stored on at least one of the one or more computer-readable storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to display a list of search results in the SDE, wherein the search results are weighted using the one or more trained machine learning models based on the determined context, as well as the predicted one or more steps and the subsequent step in the programming objective.

### Claim 8 (depends on 7)

The computer system of claim 7, further comprising:
program instructions, stored on at least one of the one or more computer-readable storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to monitor a user interaction with each search result in the list of search results;
program instructions, stored on at least one of the one or more computer-readable storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to determine a success factor for a respective search result in the list of search results based on the user interaction; and
program instructions, stored on at least one of the one or more computer-readable storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to update the SDE and the search engine using contextual feedback sent to the SDE and the search engine through a transmitted notification, wherein the contextual feedback is based on the monitored user interaction and the determined success factor.

### Claim 9 (depends on 7)

The computer system of claim 7, further comprising:
program instructions, stored on at least one of the one or more computer-readable storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to identify the programming objective in the activity data, wherein the programming objective comprises a sequence of tasks; and
program instructions, stored on at least one of the one or more computer-readable storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to determine that the user is performing the task in the sequence of tasks.

### Claim 10 (depends on 7)

The computer system of claim 7, wherein the determining the context for the received search query further comprises using the one or more trained machine learning models to classify user searches based on relevant activity data from a software development session.

### Claim 11 (depends on 7)

The computer system of claim 7, wherein the weighting of the search results using the one or more trained machine learning models further comprises predicting a relevance of information to a software development session based on prior user searches.

### Claim 12 (depends on 7)

The computer system of claim 7, wherein the activity data is selected from a group consisting of: a programming language being used in the software development environment, a library called into the software development environment, a directory structure of a working file within the software development environment, and relevant terminal messages produced within the software development environment.

### Claim 13

A computer program product for identifying content relevant to a task being performed within a software development environment (SDE), the computer program product comprising:
one or more computer-readable storage media;
program instructions, stored on at least one of the one or more computer-readable storage media, to receive a search query from a user in the SDE;
program instructions, stored on at least one of the one or more computer-readable storage media, to obtain activity data and prior interactions of the SDE from the SDE;
program instructions, stored on at least one of the one or more computer-readable storage media, to train one or more machine learning models using the activity data, the SDE's prior interactions, and tasks known to the one or more machine learning models through the SDE's prior interactions;
program instructions, stored on at least one of the one or more computer-readable storage media, to integrate the one or more trained machine learning models in the SDE;
program instructions, stored on at least one of the one or more computer-readable storage media, to determine a context for the received search query and whether the received search query has sequential context using the one or more trained machine learning models;
program instructions, stored on at least one of the one or more computer-readable storage media, to predict one or more steps in a programming objective in the activity data and a subsequent step in the programming objective using the one or more trained machine learning models upon determining that the received search query has sequential context;
program instructions, stored on at least one of the one or more computer-readable storage media, to introduce the determined context, as well as the predicted one or more steps and the subsequent step in the programming objective, to the received search query using the one or more trained machine learning models to modify search parameters of the received search query;
program instructions, stored on at least one of the one or more computer-readable storage media, to perform a search using a search engine integrated with the SDE, using the modified search parameters of the received search query; and
program instructions, stored on at least one of the one or more computer-readable storage media, to display a list of search results in the SDE, wherein the search results are weighted using the one or more trained machine learning models based on the determined context, as well as the predicted one or more steps and the subsequent step in the programming objective.

### Claim 14 (depends on 13)

The computer program product of claim 13, further comprising:
program instructions, stored on at least one of the one or more computer-readable storage media, to monitor a user interaction with each search result in the list of search results;
program instructions, stored on at least one of the one or more computer-readable storage media, to determine a success factor for a respective search result in the list of search results based on the user interaction; and
program instructions, stored on at least one of the one or more computer-readable storage media, to update the SDE and the search engine using contextual feedback sent to the SDE and the search engine through a transmitted notification, wherein the contextual feedback is based on the monitored user interaction and the determined success factor.

### Claim 15 (depends on 13)

The computer program product of claim 13, further comprising:
program instructions, stored on at least one of the one or more computer-readable storage media, to identify the programming objective in the activity data, wherein the programming objective comprises a sequence of tasks; and
program instructions, stored on at least one of the one or more computer-readable storage media, to determine that the user is performing the task in the sequence of tasks.

### Claim 16 (depends on 13)

The computer program product of claim 13, wherein the determining the context for the received search query further comprises using the one or more trained machine learning models to classify user searches based on relevant activity data from a software development session.

### Claim 17 (depends on 13)

The computer program product of claim 13, wherein the weighting of the search results using the one or more trained machine learning models further comprises predicting a relevance of information to a software development session based on prior user searches.
