Workflow management for crowd worker tasks with fixed throughput and budgets
US-2017061341-A1 · Mar 2, 2017 · US
US10311405B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10311405-B2 |
| Application number | US-201715655187-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 20, 2017 |
| Priority date | Jul 20, 2017 |
| Publication date | Jun 4, 2019 |
| Grant date | Jun 4, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
Version control (security arrangements therefor G06F21/57); Configuration management · CPC title
Workflow collaboration or project management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.