Automatic code review and code reviewer recommendation

US9898280B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9898280-B2
Application numberUS-201514941693-A
CountryUS
Kind codeB2
Filing dateNov 16, 2015
Priority dateJan 5, 2013
Publication dateFeb 20, 2018
Grant dateFeb 20, 2018

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.

Systems and methods for managing review of source code are described. The method may comprise receiving a version of source code that includes a specific change at a specific location in the version of source code that has been affected by one or more programming actions compared to a prior version of source code; and identifying a plurality of prior review requests associated with the specific change. The method may comprise assigning corresponding review points to the plurality of prior review requests; and based on the corresponding review points, selecting a code reviewer from a plurality of code reviewers who each have created or processed a subset of the plurality of prior review requests. The method may further comprise generating a review request for the specific change in the version of source code for processing by the selected code reviewer.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for managing review of source code, the method being performed in a system comprising a processor and a memory coupled with the processor, the method comprising: receiving, by a software module executing on the system, a version of source code that includes a specific change at a specific location in the version of source code that has been affected by one or more programming actions compared to a prior version of source code; identifying, by the software module, a plurality of prior review requests associated with the specific change, wherein each of the plurality of prior review requests affected the specific location or a section of code from the version of source code that is within a proximity of the specific location; assigning, by the software module, corresponding review points to each of the plurality of prior review requests, wherein the corresponding review points are assigned based on a file type of each prior review request, wherein different file types indicate different file formats, with a first format corresponding to more review points than a second format; aggregating the review points with respect to each of a plurality of code reviewers based on which of the plurality of code reviewers created or processed the review requests; selecting, by the software module, a code reviewer from the plurality of code reviewers that has the most aggregated review points; and generating, by the software module, a review request for the specific change in the version of source code for processing by the selected code reviewer. 2. The method as recited in claim 1 , wherein the identifying the plurality of prior review requests comprises: identifying, by the software module, a specific prior review request associated with the specific change and the prior version of source code; and including the specific prior review request in the plurality of prior review requests associated with the specific change. 3. The method as recited in claim 2 , wherein the identifying the specific prior review request comprises: upon a determination that the specific change involves adding to the version of source code, identifying the prior review request based on the section of code from the version of source code that is closest to the specific location associated with the specific change in the version source code. 4. The method as recited in claim 1 , wherein the assigning the corresponding review points comprises: reducing the corresponding review point of the specific prior review request by a constant factor such that the corresponding review point is higher for a more recent prior review request compared to a less recent prior review request. 5. The method as recited in claim 4 , wherein the selecting the code reviewer comprises: assigning, to a specific code reviewer from the plurality of code reviewers, the corresponding review points of the subset of the plurality of prior review requests created or processed by the specific code reviewer. 6. The method as recited in claim 5 , wherein the selecting the code reviewer comprises: selecting one of the plurality of code reviewers that has the highest assigned review points as the code reviewer for processing the review request. 7. A non-transitory machine readable storage medium embodying computer software, the computer software causing a system to perform a method for managing review of source code, the method comprising: receiving, by a software module, a version of source code that includes a specific change at a specific location in the version of source code that has been affected by one or more programming actions compared to a prior version of source code; identifying, by the software module, a plurality of prior review requests associated with the specific change, wherein each of the plurality of prior review requests affected the specific location or a section of code from the version of source code that is within a proximity of the specific location; assigning, by the software module, corresponding review points to each of the plurality of prior review requests, wherein the corresponding review points are based on a file type of each of the prior review requests, wherein different file types indicate different file formats, with a first format corresponding to more review points than a second format; aggregating the review points with respect to each of a plurality of code reviewers based on which of the plurality of code reviewers created or processed the review requests; selecting, by the software module, a code reviewer from the plurality of code reviewers that has the most aggregated review points; and generating, by the software module, a review request for the specific change in the version of source code for processing by the selected code reviewer. 8. The non-transitory machine readable storage medium as recited in claim 7 , wherein the identifying the plurality of prior review requests comprises: identifying, by the software module, a specific prior review request associated with the specific change and the prior version of source code; and including the specific prior review request in the plurality of prior review requests associated with the specific change. 9. The non-transitory machine readable storage medium as recited in claim 8 , wherein the identifying the specific prior review request comprises: upon a determination that the specific change involves adding to the version of source code, identifying the prior review request based on the section of code from the version of source code that is closest to the specific location associated with the specific change in the version source code. 10. The non-transitory machine readable storage medium as recited in claim 7 , wherein the assigning the corresponding review points comprises: reducing the corresponding review point of the specific prior review request by a constant factor such that the corresponding review point is higher for a more recent prior review request compared to a less recent prior review request. 11. The non-transitory machine readable storage medium as recited in claim 10 , wherein the selecting the code reviewer comprises: assigning, to a specific code reviewer from the plurality of code reviewers, the corresponding review points of the subset of the plurality of prior review requests created or processed by the specific code reviewer. 12. The non-transitory machine readable storage medium as recited in claim 11 , wherein the selecting the code reviewer comprises: selecting one of the plurality of code reviewers that has the highest assigned review points as the code reviewer for processing the review request. 13. A system configured to perform a method for managing review of source code, the system comprising a processor and a non-transitory machine readable storage medium storing instructions that, when executed by the processor, cause the processor to: receive a version of source code that includes a specific change at a specific location in the version of source code that has been affected by one or more programming actions compared to a prior version of source code; identify a plurality of prior review requests associated with the specific change, wherein each of the plurality of prior review requests affected the specific location or a section of code from the version of source code that is within a proximity of the specific location; assign corresponding review points to each of the plurality of prior review requests, wherein the corresponding review points are based on a file type of each of the prior review requests, wherein different file types indicate

Assignees

Inventors

Classifications

  • Structural analysis for program understanding · CPC title

  • Software maintenance or management · CPC title

  • Checking; Contextual analysis · CPC title

  • G06F8/71Primary

    Version control (security arrangements therefor G06F21/57); Configuration 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 US9898280B2 cover?
Systems and methods for managing review of source code are described. The method may comprise receiving a version of source code that includes a specific change at a specific location in the version of source code that has been affected by one or more programming actions compared to a prior version of source code; and identifying a plurality of prior review requests associated with the specific…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F8/71. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 20 2018 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).