Code recommender for resolving a new issue received by an issue tracking system

US11157246B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11157246-B2
Application numberUS-202016735679-A
CountryUS
Kind codeB2
Filing dateJan 6, 2020
Priority dateJan 6, 2020
Publication dateOct 26, 2021
Grant dateOct 26, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Training data identifying a plurality of pairs is received. Each pair identifies one or more separate code snippets known to resolve a respective issue of a plurality of issues. For each pair of the plurality of pairs, a respective issue representation of core content of the respective issue and a linear expression of the one or more separate code snippets in a respective code representation is constructed and a model to correlate the respective code representation as resolving the respective issue representation is trained. The model is queried with a new issue and a selected one of the one or more separate code snippets. The model returns a classification indicating whether the selected one of the one or more separate code snippets is likely to resolve the new issue.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving, by a computer, training data identifying a plurality of pairs, each pair identifying one or more separate code snippets known to resolve a respective issue of a plurality of issues; for each pair of the plurality of pairs: constructing, by the computer, a respective issue representation of core content of the respective issue; constructing, by the computer, a linear expression of the one or more separate code snippets in a respective code representation; and training, by the computer, a model to correlate the respective code representation as resolving the respective issue representation; applying, by the computer, natural language processing to a new issue to construct a new issue representation of core content of the new issue; and querying, by the computer, the model with the new issue representation and a selected one of the one or more separate code snippets via new issue representation; and determining, by the computer, whether the selected one or more separate code snippets resolve the new issue based at least in part on applying the structured based evaluation of a second abstract code syntax tree. 2. The method according to claim 1 , wherein constructing, by the computer, the respective issue representation of core content of the respective issue, further comprises: applying, by the computer, natural language processing to the respective issue to construct the respective issue representation of core content of the respective issue. 3. The method according to claim 1 , wherein constructing, by the computer, the linear expression of the one or more separate code snippets in the respective code representation, further comprises: applying, by the computer, a structured based evaluation of an abstract code syntax tree of the one or more separate code snippets to construct the linear expression in the respective code representation. 4. The method according to claim 1 , wherein training, by the computer, the model to correlate the respective code representation as resolving the respective issue representation further comprises: passing, by the computer, the respective code representation to a code embedding network of the model to generate a first vector embedding; passing, by the computer, the respective issue representation to an issue embedding network of the model to generate a second vector embedding; training, by the computer, the model with a loss function to minimize loss based on the distance between the first vector embedding and the second vector embedding. 5. The method according to claim 4 , wherein training, by the computer, the model with the loss function to minimize loss based on the distance between the first vector embedding and the second vector further comprises: training, by the computer, the model with the loss function to minimize loss based on the distance between the first vector embedding and the second vector, where the loss function produces a loss inverse to the distance between the first vector embedding and the second vector embedding if the code is not resolving the issue and produces a loss proportional to the distance between the first vector embedding and the second vector embedding if the code is resolving the issue. 6. The method according to claim 1 , wherein querying, by the computer, the model with the new issue and the selected one of the one or more separate code snippets, wherein the model returns the classification indicating whether the selected one of the one or more separate code snippets is likely to resolve the new issue further comprises: selecting, by the computer, the selected one of the one or more separate code snippets; applying, by the computer, the structured based evaluation of a second abstract code syntax tree of the selected one of the one or more separate code snippets to construct a linear expression in a previous code representation; querying, by the computer, the model with the new issue representation and the previous code representation; and receiving, by the computer, the classification indicating a probability value whether the selected one of the one or more separate code snippets is likely to resolve the new issue. 7. The method according to claim 1 , further comprising: responsive to the classification indicating the selected one of the one or more separate code snippets is likely to resolve the new issue, returning, by the computer, the selected one of the one or more separate code snippets as a recommended code snippet for resolving the new issue. 8. A computer system comprising one or more processors, one or more computer-readable memories, one or more computer-readable storage devices, and program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, the stored program instructions comprising: program instructions to receive training data identifying a plurality of pairs, each pair identifying one or more separate code snippets known to resolve a respective issue of a plurality of issues; for each pair of the plurality of pairs: program instructions to construct a respective issue representation of core content of the respective issue; program instructions to construct a linear expression of the one or more separate code snippets in a respective code representation; and program instructions to train a model to correlate the respective code representation as resolving the respective issue representation; program instructions to apply natural language processing to a new issue to construct a new issue representation of core content of the new issue; and program instructions to query the model with the new issue representation and a selected one of the one or more separate code snippets via a new issue representation; and program instructions to determine whether the selected one or more separate code snippets resolve the new issue based at least in part on applying the structured based evaluation of a second abstract code syntax tree. 9. The system according to claim 8 , the program instructions to construct the respective issue representation of core content of the respective issue further comprising: program instructions to apply natural language processing to the respective issue to construct the respective issue representation of core content of the respective issue. 10. The system according to claim 8 , the program instructions to construct the linear expression of the one or more separate code snippets in the respective code representation further comprising: program instructions to apply a structured based evaluation of an abstract code syntax tree of the one or more separate code snippets to construct the linear expression in the respective code representation. 11. The system according to claim 8 , the program instructions to train the model to correlate the respective code representation as resolving the respective issue representation further comprising: program instructions to pass the respective code representation to a code embedding network of the model to generate a first vector embedding; program instructions to pass the respective issue representation to an issue embedding network of the model to generate a second vector embedding; program instructions to train the model with a loss function to minimize loss based on the distance between the first vector embedding and the second vector embedding. 12. The system according to claim 11 , the program instructions to train the model with the loss function to minimize loss based on the distance between the first vector embe

Assignees

Inventors

Classifications

  • Combinations of networks · CPC title

  • Recurrent networks, e.g. Hopfield networks · CPC title

  • characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU] · CPC title

  • Supervised learning · CPC title

  • Learning methods · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11157246B2 cover?
Training data identifying a plurality of pairs is received. Each pair identifies one or more separate code snippets known to resolve a respective issue of a plurality of issues. For each pair of the plurality of pairs, a respective issue representation of core content of the respective issue and a linear expression of the one or more separate code snippets in a respective code representation is…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F8/36. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 26 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).