Cognitive identification of related code changes

US10606580B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10606580-B2
Application numberUS-201715799342-A
CountryUS
Kind codeB2
Filing dateOct 31, 2017
Priority dateOct 31, 2017
Publication dateMar 31, 2020
Grant dateMar 31, 2020

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.

The cognitive identification of related code changes is disclosed herein including receiving a set of changes for a software package that include changes to at least one program, analyzing data associated with the set of changes to identify a goal of the set of changes, querying a data repository for a pattern associated with the identified goal, and receiving, from the data repository, the pattern associated with the identified goal. The pattern includes at least one program to be changed for the identified goal. The method further including comparing the set of changes to the pattern, determining, based on the comparison, that at least one program included in the pattern is not changed in the set of changes, and transmitting a message to a computing device associated with a user that indicates that the at least one program included in the pattern is not changed in the set of changes.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for identifying software related code changes based on a set of changes to achieve a goal, the method being implemented by at least one processor comprising hardware, and the method comprising: receiving a set of changes for a software package, the set of changes including particular changes made to a first set of programs; analyzing data associated with the set of changes to identify a goal achievable by making the set of changes, wherein the goal comprises at least one of: an addition of at least one parameter; and an addition of at least one statistic; querying a data repository for a pattern associated with the identified goal, wherein the pattern includes a second set of programs that are commonly changed to achieve the identified goal; receiving, from the data repository, the pattern associated with the identified goal; comparing the first set of programs with the second set of programs of the pattern; determining, based on the comparison, that at least one program among the second set of programs is absent from the first set of programs, wherein the absence of the at least one program from the first set of programs indicates a need to make the particular changes to the at least one program absent from the first set of programs; transmitting, based on the determining, a message to a computing device associated with a user, the message indicating that the particular changes to the at least one program is not among the received set of changes; and in response to a pre-determined threshold number of the received set of changes being different from a known pattern, generating, based on the determining, a new pattern for the goal under a pre-defined naming criteria. 2. The method of claim 1 , wherein the data associated with the set of changes comprises a work item that triggered the set of changes, and wherein analyzing the data comprises analyzing a text of the work item to identify the goal. 3. The method of claim 1 , wherein the data associated with the set of changes comprises documentation within the at least one program of the set of changes, and wherein analyzing the data comprises analyzing a text of the documentation to identify a goal of the set of changes. 4. The method of claim 1 , wherein analyzing the data associated with the set of changes comprises performing natural language processing on a text of the data. 5. The method of claim 1 , further comprising: determining, based on the comparison, that the set of changes includes changes to at least one program among the first set of programs that are absent from the second set of programs; and identifying the at least one program absent from the second set of programs as at least one specific program for the set of changes; and adding the common programs among the first and second sets of programs, and the at least one specific program, to the data repository in association with the set of changes. 6. The method of claim 1 , wherein the pattern is uniquely associated with the software package. 7. The method of claim 1 , wherein the at least one program is a file including at least one line of code. 8. A method for identifying software related code changes based on a set of changes to achieve a goal, the method being implemented by at least one processor comprising hardware, and the method comprising: receiving a set of changes for a software package, the set of changes including changes made to a plurality of programs; comparing the plurality of programs with a plurality of patterns stored in a data repository and associated with the software package, wherein each pattern includes a respective set of programs that were commonly changed to achieve a respective goal, and each respective goal comprises one of: an addition of at least one parameter; and an addition of at least one statistic; identifying, based on the comparison, a pattern among the plurality of patterns that includes a set of programs that matches the plurality of programs in the set of changes; comparing at least one program included in the matching pattern to the plurality of programs; determining, based on the comparison, whether the match is a complete match; in a case where it is determined that the match is a complete match, implementing the set of changes in the software package; and in a case where it is determined that the match is not a complete match, transmitting a message to a computing device associated with a user that submitted the set of changes, the message indicating that the match is not a complete match, wherein the failure of a complete match indicates a need to implement the set of changes to programs among the identified pattern that are absent from the plurality of programs; and in response to a pre-determined threshold number of the received set of changes being different from a known pattern, generating, based on the determining, a new pattern for the each respective goal under a pre-defined naming criteria. 9. The method of claim 8 , wherein comparing the set of changes to the plurality of patterns comprises comparing a list of the plurality of programs of the set of changes with a list of programs included in each of the patterns. 10. The method of claim 9 , wherein identifying, based on the comparison, the pattern in the plurality of patterns that matches the set of changes comprises determining a proportion of the list of programs included in the pattern that are also included in the list of the plurality of programs of the set of changes. 11. The method of claim 10 , wherein the determined proportion is compared to a pre-determined threshold value, and wherein identifying, based on the comparison, the pattern in the plurality of patterns that matches the set of changes comprises determining that the determined proportion is greater than the pre-determined threshold value. 12. The method of claim 8 , wherein determining that the match is a complete match comprises determining that every program included in the pattern is also changed in the set of changes. 13. The method of claim 8 , wherein the message includes an identification of at least one program included in the pattern that is not included in the plurality of programs changed by the set of changes. 14. The method of claim 8 , wherein in response to determining that the match is a complete match, the method further comprises transmitting a message to the computing device associated with the user that submitted the set of changes, the message indicating that the match is a complete match. 15. The method of claim 8 , wherein the pattern is uniquely associated with the software package. 16. The method of claim 8 , wherein the plurality of programs are files each including at least one line of code. 17. A system comprising: a memory configured to store a software package; a processor configured to be in communication with the memory, the processor being configured to: receive a set of changes for the software package, the set of changes including particular changes made to a first set of programs; analyze data associated with the set of changes to identify a goal achievable by making the set of changes, wherein the goal comprises at least one of: an addition of at least one parameter; and an addition of at least one statistic; query a data repository for a pattern associated with the identified goal, wherein the pattern includes a second set of programs that are commonly changed to achieve the identified goal; receive, from the data repository, the pattern associated with the identified goal; compar

Assignees

Inventors

Classifications

  • G06F8/65Primary

    Updates (security arrangements therefor G06F21/57) · CPC title

  • using natural language analysis · CPC title

  • Structural analysis for program understanding · CPC title

  • 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 US10606580B2 cover?
The cognitive identification of related code changes is disclosed herein including receiving a set of changes for a software package that include changes to at least one program, analyzing data associated with the set of changes to identify a goal of the set of changes, querying a data repository for a pattern associated with the identified goal, and receiving, from the data repository, the pat…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F8/65. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 31 2020 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).