Software-issue graphs

US10311405B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10311405-B2
Application numberUS-201715655187-A
CountryUS
Kind codeB2
Filing dateJul 20, 2017
Priority dateJul 20, 2017
Publication dateJun 4, 2019
Grant dateJun 4, 2019

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.

Provided is a process, including: obtaining a plurality of software-issue reports; obtaining a pull request; forming a software-issue graph having a plurality of nodes corresponding to the software-issue reports and a plurality of edges indicating relationships between the software-issue reports; determining that the pull request addresses a given software-issue report; selecting a subset of nodes in the software-issue graph addressed by the pull request; and designating the pull request as being associated with the plurality of software-issue reports corresponding to the selected subset of nodes.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: obtaining, with one or more processors, a plurality of software-issue reports, each software-issue report describing a software bug to be fixed or feature to be added to a software application; obtaining, with one or more processors, a pull request identifying a branch of source code of the software application in a version control system; forming, with one or more processors, a software-issue graph having a plurality of nodes corresponding to the software-issue reports and a plurality of edges indicating relationships between the software-issue reports, wherein forming the software-issue graph comprises at least one of the following: determining that a first software-issue report must be addressed before a second software-issue report and, in response, adding an edge to the software-issue graph indicating the first software-issue report must be addressed before the second software-issue report; determining that a third software-issue report is a duplicate of a fourth software-issue report and, in response, adding an edge to the software-issue graph indicating the third software-issue report is a duplicate of the fourth software-issue report; or determining that a fifth and a sixth software-issue report each are a species of a seventh software-issue report and, in response, adding a pair of edges to the software-issue graph indicating the fifth and the sixth software-issue report each are a species of the seventh software-issue report, wherein the software issue graph is formed with a machine-learning model obtained trained by obtaining a log of historical workflow instances addressing software-issue reports and training the machine learning model used to form the software-issue graph with the log of historical workflow instances, and the machine-learning model is updated based on user adjustments to previous outputs of the model indicating incorrect edges; determining, with one or more processors, that the pull request addresses a given software-issue report; selecting, with one or more processors, a subset of nodes in the software-issue graph addressed by the pull request based on the subset of nodes sharing a respective edge with the given software-issue report and respective relationships indicated by the shared edges; designating, with one or more processors, in memory, the pull request as being associated with the given software-issue report and the plurality of software-issue reports corresponding to the selected subset of nodes. 2. The method of claim 1 , wherein forming the software-issue graph comprises: determining that the first software-issue report must be addressed before the second software-issue report and, in response, adding the edge to the software-issue graph indicating the first software-issue report must be addressed before the second software-issue report; determining that the third software-issue report is a duplicate of the fourth software-issue report and, in response, adding the edge to the software-issue graph indicating the third software-issue report is a duplicate of the fourth software-issue report; and determining that the fifth and the sixth software-issue report each are a species of a seventh software-issue report and, in response, adding the pair of edges to the software-issue graph indicating the fifth and the sixth software-issue report each are a species of the seventh software-issue report. 3. The method of claim 1 , wherein selecting the subset of nodes comprises recursively traversing the software-issue graph by: accessing a current node corresponding to the pull request and a set of edges connecting to the current node; filtering out first edges in the set of edges based on the filtered first edges having already been traversed; filtering out second edges in the set of edges based on the filtered second edges indicating a directionality of a relationship in a given direction; and forming a set of connected nodes based on the connected nodes being connected to the current node by unfiltered edges among the set of edges; and recursively calling a routine that traverses the software-issue graph with at least one node in the set of connected nodes identified by parameter in the routine call. 4. The method of claim 1 , comprising: causing, via a network, a client computing device to display a user interface associating the pull request as being associated with the given software-issue report and the plurality of software-issue reports corresponding to the selected subset of nodes, wherein the user interface includes an event handler operative to receive user inputs selecting among the plurality of software-issue reports corresponding to the selected subset of nodes and cause a value to be sent indicative of the selection via the network. 5. The method of claim 1 , comprising: causing a client computing device to display a plurality of nodes of the graph in a force directed layout or a tree layout. 6. The method of claim 1 , comprising: inferring a priority of a software-issue report based on a relationship indicated by an edge of the software-issue graph, wherein inferring the priority is based on: determining that the first software-issue report must be addressed before the second software-issue report; and determining that the fifth and the sixth software-issue report each are a species of a seventh software-issue report, wherein the priority is of the first software issue report and the first software-issue report is the same software-issue report as the seventh software-issue report. 7. The method of claim 1 , wherein determining that the pull request addresses the given software-issue report comprises: receiving a designation supplied by a user via a user interface indicating that the pull request addresses the given software-issue report. 8. The method of claim 1 , wherein determining that the pull request addresses the given software-issue report comprises: inferring that the pull request addresses the given software-issue report with a supervised machine learning model trained on previous designations of previous software-issue reports as being addressed by previous pull requests. 9. The method of claim 1 , comprising determining that the fifth and the sixth software-issue report each are a species of the seventh software-issue report and, in response, adding the pair of edges to the software-issue graph indicating the fifth and the sixth software-issue report each are a species of the seventh software-issue report by: forming a first plurality of clusters at a first level of granularity; forming a second plurality of clusters at a second level of granularity that is greater than the first level of granularity, wherein a given cluster in the first plurality of clusters contains a plurality of clusters in the second plurality of clusters including the fifth and the sixth software-issue reports; and determining that the seventh software-issue report is representative of the given cluster. 10. The method of claim 1 , comprising determining that the third software-issue report is a duplicate of the fourth software-issue report and, in response, adding the edge to the software-issue graph indicating the third software-issue report is a duplicate of the fourth software-issue report by: forming, for each of a plurality of the software-issue reports, respective feature vectors having dimensions corresponding to n-grams in the respective software-issue reports, wherein the values of the dimensions are based on both a number of times a respective n-gram occurs in the respective software-issue report and a number of times the respective n-gram occurs in other software-issue reports; determining pa

Assignees

Inventors

Classifications

  • Version control (security arrangements therefor G06F21/57); Configuration management · CPC title

  • G06Q10/103Primary

    Workflow collaboration or project management · 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 US10311405B2 cover?
Provided is a process, including: obtaining a plurality of software-issue reports; obtaining a pull request; forming a software-issue graph having a plurality of nodes corresponding to the software-issue reports and a plurality of edges indicating relationships between the software-issue reports; determining that the pull request addresses a given software-issue report; selecting a subset of no…
Who is the assignee on this patent?
Ca Inc
What technology area does this patent fall under?
Primary CPC classification G06Q10/103. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 04 2019 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).