Method and system for reducing instability when upgrading software
US-9442983-B2 · Sep 13, 2016 · US
US9959111B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9959111-B2 |
| Application number | US-201615206323-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 11, 2016 |
| Priority date | Jul 11, 2016 |
| Publication date | May 1, 2018 |
| Grant date | May 1, 2018 |
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.
Various embodiments of systems, computer program products, and methods for prioritizing software patches are described herein. In an aspect, the software patches are retrieved by querying software repositories. Further, code changes associated with the software patches are determined. One or more instances of bug fix patterns are identified in determined code changes. The software patches are classified based on the identified bug fix patterns. Priorities of the software patches corresponding to the identified instances of the bug fix patterns are determined based on the classification and a pre-defined policy. Upon determining priorities, the software patches are installed based on the priorities.
Opening claim text (preview).
What is claimed is: 1. A non-transitory computer readable storage medium storing instructions, which when executed by a computer cause the computer to perform operations comprising: retrieving software patches by querying software repositories; analyzing a change list comprising one or more code changes between a first software patch and a subsequent software patch of the software patches; identifying one or more instances of one or more bug fix patterns in the one or more code changes; adding the one or more instances to a set of instances of bug fix patterns that resolve different bug classes, wherein a bug fix pattern of the bug fix patterns corresponds to a bug class of the bug classes; classifying the subsequent software patch based on the set of instances of the bug fix patterns; based on the classification, automatically determining a priority of the subsequent software patch, wherein the priority corresponds to a sum of occurrences of the one or more instances; and installing the software patches according to a pre-defined policy based on determined priorities of the software patches. 2. The non-transitory computer-readable medium of claim 1 , wherein the one or more code changes are determined by comparing source code of the first software patch and source code of the subsequent software patch. 3. The non-transitory computer-readable medium of claim 1 , wherein the one or more code changes depend on specifics of a programming language. 4. The non-transitory computer-readable medium of claim 1 , wherein the pre-defined policy comprises a statement of intent including rules based on which the software patches are prioritized for installation. 5. The non-transitory computer-readable medium of claim 1 , wherein the pre-defined policy comprises priorities and actions corresponding to the software patches. 6. A computer implemented method to classify and prioritize software patches, comprising: retrieving software patches by querying software repositories; analyzing a change list comprising one or more code changes between a first software patch and a subsequent software patch of the software patches; identifying one or more instances of one or more bug fix patterns in the one or more code changes; adding the one or more instances to a set of instances of bug fix patterns that resolve different bug classes, wherein a bug fix pattern of the bug fix patterns corresponds to a bug class of the bug classes; classifying the subsequent software patch based on the set of instances of the bug fix patterns; based on the classification, automatically determining a priority of the subsequent software patch, wherein the priority corresponds to a sum of occurrences of the one or more instances; and installing the software patches according to a pre-defined policy based on determined priorities of the software patches. 7. The computer implemented method of claim 6 , wherein the one or more code changes are determined by comparing source code of the first software patch and source code of the subsequent software patch. 8. The computer implemented method of claim 6 , wherein the one or more code changes depend on specifics of a programming language. 9. The computer implemented method of claim 6 , wherein the pre-defined policy comprises a statement of intent including rules based on which the software patches are prioritized for installation. 10. The computer implemented method of claim 6 , wherein the pre-defined policy comprises priorities and actions corresponding to the software patches. 11. A computing system to classify and prioritize software patches, comprising: at least one processor; and one or more memory devices communicative with the at least one processor, wherein the one or more memory devices store instructions to: retrieving software patches by querying software repositories; analyzing a change list comprising one or more code changes between a first software patch and a subsequent software patch of the software patches; identifying one or more instances of one or more bug fix patterns in the one or more code changes; adding the one or more instances to a set of instances of bug fix patterns that resolve different bug classes, wherein a bug fix pattern of the bug fix patterns corresponds to a bug class of the bug classes; classifying the subsequent software patch based on the set of instances of the bug fix patterns; based on the classification, automatically determining a priority of the subsequent software patch, wherein the priority corresponds to a sum of occurrences of the one or more instances; and installing the software patches according to a pre-defined policy based on determined priorities of the software patches. 12. The computing system of claim 11 , wherein the one or more code changes are determined by comparing source code of the first software patch and source code of the subsequent software patch. 13. The computing system of claim 11 , wherein the one or more code changes depend on specifics of a programming language. 14. The computing system of claim 11 , wherein the pre-defined policy comprises a statement of intent including rules based on which the software patches are prioritized for installation.
Related publications grouped by family.
Answers are generated from the same data shown on this page.