Grouping and isolating software changes to increase build quality

US10545847B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10545847-B2
Application numberUS-201615265873-A
CountryUS
Kind codeB2
Filing dateSep 15, 2016
Priority dateSep 15, 2016
Publication dateJan 28, 2020
Grant dateJan 28, 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.

A method for assessing a quality of a plurality of changes to a plurality of source code is provided. The method may include receiving the plurality of source code for a software product, whereby the received plurality of source code includes the plurality of changes. The method may also include identifying at least one property associated with each of the plurality of changes within the received plurality of source code. The method may further include determining a confidence level for each of the plurality of changes based on the at least one identified property associated with each of the plurality of changes and a plurality of historical software build data. The method may also include assigning each of the plurality of changes to a build group based on the determined confidence level. The method may further include executing the build group in a software build.

First claim

Opening claim text (preview).

What is claimed is: 1. A processor-implemented method for assessing a quality of a plurality of changes to a plurality of source code, the method comprising: receiving, by a processor, the plurality of source code for a software product, wherein the received plurality of source code includes the plurality of changes; identifying a plurality of properties associated with each of the plurality of changes within the received plurality of source code; determining a confidence level for each of the plurality of changes based on the plurality of identified properties associated with each of the plurality of changes and a plurality of historical software build data; grouping together each of the plurality of changes to one of a plurality of build groups based on the determined confidence level, identified properties known to have a positive influence on a build quality, identified properties known to have a negative impact on the build quality, and environment inputs, wherein assigning each of the plurality of changes to the build group includes isolating a change within the plurality of changes where the determined confidence level for the change falls below a user preconfigured isolation threshold, wherein the environmental inputs comprise a number of current changes and a build duration, wherein the positive influence and negative impact on the build quality is determined based on historical software build data of properties similar to the identified properties; executing, simultaneously, a validation test of each build group of changes in a software build; in response to a validation test of a build group failing, isolating each source code change into individual build groups; and executing a validation test of each individual build group. 2. The method of claim 1 , wherein assigning each of the plurality of changes further comprises: assigning each of the plurality of changes to the build group based on a plurality of preconfigured rules. 3. The method of claim 1 , wherein the plurality of properties comprises a change size, a change author, a reviewer name, a change type, a check-in date, a check-in time, and a plurality of parts of the received plurality of source code affected by the plurality of changes. 4. The method of claim 1 , wherein the plurality of historical software build data is selected from a group consisting of a plurality of previous changes and a plurality of properties associated with the plurality of previous changes. 5. The method of claim 1 , further comprising: recording each of the plurality of changes, the plurality of properties, and the determined confidence level in a data repository to be included with the plurality of historical software build data. 6. The method of claim 1 , wherein assigning each of the plurality of changes to the build group includes grouping together at least one change within the plurality of changes where the determined confidence level for each at least one change satisfies a user preconfigured grouping threshold. 7. A computer system for assessing a quality of a plurality of changes to a plurality of source code, the computer system comprising: one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage medium, and program instructions stored on at least one of the one or more tangible storage medium for execution by at least one of the one or more processors via at least one of the one or more memories, wherein the computer system is capable of performing a method comprising: receiving the plurality of source code for a software product, wherein the received plurality of source code includes the plurality of changes; identifying a plurality of properties associated with each of the plurality of changes within the received plurality of source code; determining a confidence level for each of the plurality of changes based on the plurality of identified properties associated with each of the plurality of changes and a plurality of historical software build data; grouping together each of the plurality of changes to one of a plurality of build groups based on the determined confidence level, identified properties known to have a positive influence on a build quality, identified properties known to have a negative impact on the build quality, and environment inputs, wherein assigning each of the plurality of changes to the build group includes isolating a change within the plurality of changes where the determined confidence level for the change falls below a user preconfigured isolation threshold, wherein the environmental inputs comprise a number of current changes and a build duration, wherein the positive influence and negative impact on the build quality is determined based on historical software build data of properties similar to the identified properties; executing, simultaneously, a validation test of each build group of changes in a software build; in response to a validation test of a build group failing, isolating each source code change into individual build groups; and executing a validation test of each individual build group. 8. The computer system of claim 7 , wherein assigning each of the plurality of changes further comprises: assigning each of the plurality of changes to the build group based on a plurality of preconfigured rules. 9. The computer system of claim 7 , wherein the plurality of properties comprises a change size, a change author, a reviewer name, a change type, a check-in date, a check-in time, and a plurality of parts of the received plurality of source code affected by the plurality of changes. 10. The computer system of claim 7 , wherein the plurality of historical software build data is selected from a group consisting of a plurality of previous changes and a plurality of properties associated with the plurality of previous changes. 11. The computer system of claim 7 , further comprising: recording each of the plurality of changes, the plurality of properties, and the determined confidence level in a data repository to be included with the plurality of historical software build data. 12. The computer system of claim 7 , wherein assigning each of the plurality of changes to the build group includes grouping together at least one change within the plurality of changes where the determined confidence level for each at least one change satisfies a user preconfigured grouping threshold. 13. A computer program product for assessing a quality of a plurality of changes to a plurality of source code, the computer program product comprising: one or more computer-readable storage medium and program instructions stored on at least one of the one or more storage medium, the program instructions executable by a processor, the program instructions comprising: program instructions to receive the plurality of source code for a software product, wherein the received plurality of source code includes the plurality of changes; program instructions to identify a plurality of properties associated with each of the plurality of changes within the received plurality of source code; program instructions to determine a confidence level for each of the plurality of changes based on the plurality of identified properties associated with each of the plurality of changes and a plurality of historical software build data; program instructions to group together each of the plurality of changes to one of a plurality of build groups based on the determined confidence level, identified properties known to have a positive influence on a build quality, identified properties known to have a negative impact on the build quality, and environ

Assignees

Inventors

Classifications

  • Analysis of software for verifying properties of programs (testing of software G06F11/3668) · CPC title

  • G06F11/36Primary

    Prevention of errors by analysis, debugging or testing of software · 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 US10545847B2 cover?
A method for assessing a quality of a plurality of changes to a plurality of source code is provided. The method may include receiving the plurality of source code for a software product, whereby the received plurality of source code includes the plurality of changes. The method may also include identifying at least one property associated with each of the plurality of changes within the receiv…
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 28 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).