Analytic and layer-based augmentation of code reviews

US9880921B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9880921-B2
Application numberUS-201615055867-A
CountryUS
Kind codeB2
Filing dateFeb 29, 2016
Priority dateFeb 29, 2016
Publication dateJan 30, 2018
Grant dateJan 30, 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.

A computer system may identify a source code for a program. The source code may include one or more instructions. The computer system may then receive a selection of two or more assessment metrics for evaluating the source code. The computer system may then generate an assessment score for each instruction in the source code based on the two or more assessment metrics. The computer system may then provide an assessment score indicator to for each instruction in the source code.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, the method comprising: identifying, by a processor, source code for a program, the source code including one or more changed instructions; receiving, from a user, a selection of two or more assessment metrics for evaluating the source code; combining the two or more assessment metrics, thereby creating a custom metric; generating an assessment score for the one or more changed instructions in the source code according to the combination of the two or more assessment metrics; providing, to the user, an assessment score indicator for at least one changed instruction in the source code; identifying a first changed instruction of the one or more changed instructions, the first changed instruction being configured to perform a first function; identifying, automatically by the processor, a first reference instruction; determining, by executing the source code in a sandbox environment and identifying the first function of the first changed instruction, that the first reference instruction is configured to perform the same function as the first changed instruction, the first reference instruction being stored in a reference repository, wherein the reference repository is a data storage unit for well-trusted reference instructions; alerting the user that the first reference instruction corresponds to the first changed instruction by generating a first hyperlink to the first reference instruction, inserting the first hyperlink into a line number associated with the first changed instruction, wherein the line number corresponds to the ordered placement of the first changed instruction in the source code, and providing a second hyperlink to the first reference function, wherein the second hyperlink is the alert; and replacing the first changed instruction with the first reference instruction. 2. The method of claim 1 , wherein the two or more assessment metrics include a first and a second assessment metric, the first assessment metric being an Inter-Process Communication call in a path and the second assessment metric being the program's stage of release, and wherein the generating the assessment score comprises: determining a first metric score for the first changed instruction, wherein the first metric score corresponds to the first assessment metric of the selected two or more assessment metrics; determining a second metric score for the first changed instruction, wherein the second metric score corresponds to the second assessment metric of the selected two or more assessment metrics; and combining the first metric score and the second metric score. 3. The method of claim 1 , wherein the generating the assessment score for the one or more changed instructions comprises: determining a set of metric scores for the one or more changed instructions, wherein each metric score corresponds to an associated assessment metric of the selected two or more assessment metrics; determining a weighting coefficient for each metric score, the weighting coefficient being based on a relationship between the selected two or more assessment metrics; weighting the set of metric scores according to the weighting coefficients; and combining the weighted metric scores for the one or more changed instructions. 4. The method of claim 1 , wherein the receiving the selection of two or more assessment metrics comprises: providing the user with a list of assessment metrics; and prompting the user to select the two or more assessment metrics from the list of assessment metrics to be combined, the user thereby creating the custom metric. 5. The method of claim 1 , wherein the providing, to the user, the assessment score indicator for the at least one changed instruction comprises: generating a visual signal of the assessment score for the at least one changed instruction; and outputting the visual signal of the assessment score for the at least one changed instruction to an output device. 6. The method of claim 5 , wherein the visual signal of the assessment score includes a visual overlay superimposed on the at least one changed instruction and includes a font color, and wherein the outputting comprises: modifying the font color for the at least one changed instruction according to the assessment score. 7. The method of claim 1 , wherein determining that the first reference instruction is configured to perform the same function as the first changed instruction further comprises: generating a first tag for the first changed instruction, wherein the first tag is associated with the first function that is performed by the first changed instruction; tagging the first changed instruction with the tag; accessing the reference repository, wherein the reference repository is sorted by one or more tags associated with the functions of one or more reference instructions; identifying a second tag in the reference repository, wherein the second tag is identical to the first tag and tagged to the first reference instruction. 8. The method of claim 1 , wherein replacing the first changed instruction with the first reference instruction further comprises: deleting the first changed instruction from the source code; copying the first reference instruction from the reference repository; inserting the first reference instruction in the source code, wherein the first reference instruction is inserted in the same location as where the first changed instruction was deleted; executing the source code with the first reference instruction in the sandbox environment; and determining that the source code with the first reference instruction performs the first function. 9. A system comprising: an input device; an output device; a memory; a processor in communication with the memory, the processor being configured to perform a method comprising: identifying source code for a program, the source code including one or more changed instructions; receiving, from a user, a selection of two or more assessment metrics for evaluating the source code; combining the two or more assessment metrics, thereby creating a custom metric; generating an assessment score for the one or more changed instructions in the source code according to the combination of the two or more assessment metrics; providing, to the user, an assessment score indicator for at least one changed instruction in the source code; identifying a first changed instruction of the one or more changed instructions, the first changed instruction being configured to perform a first function; identifying, automatically, a first reference instruction; determining, by executing the source code in a sandbox environment and identifying the first function of the first changed instruction, that the first reference instruction is configured to perform the same function as the first function, the first reference instruction being stored in a reference repository, wherein the reference repository is a data storage unit for well-trusted reference instructions; alerting the user that the first reference instruction corresponds to the first changed instruction by generating a first hyperlink to the first reference instruction, inserting the first hyperlink into a line number associated with the first changed instruction, wherein the line number corresponds to the ordered placement of the first changed instruction in the source code, and providing a second hyperlink to the first reference function, wherein the second hyperlink is the alert; and replacing the first changed instruction with the first reference instruction. 10. The system of claim 9 , wherein the two or more assessment metrics include a first and a second assessment m

Assignees

Inventors

Classifications

  • Analysis of software for verifying properties of programs (testing of software G06F11/3668) · 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 US9880921B2 cover?
A computer system may identify a source code for a program. The source code may include one or more instructions. The computer system may then receive a selection of two or more assessment metrics for evaluating the source code. The computer system may then generate an assessment score for each instruction in the source code based on the two or more assessment metrics. The computer system may t…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/3604. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 30 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).