Prioritization of software patches

US9959111B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9959111-B2
Application numberUS-201615206323-A
CountryUS
Kind codeB2
Filing dateJul 11, 2016
Priority dateJul 11, 2016
Publication dateMay 1, 2018
Grant dateMay 1, 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.

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.

First claim

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.

Assignees

Inventors

Classifications

  • G06F8/71Primary

    Version control (security arrangements therefor G06F21/57); Configuration management · CPC title

  • G06F8/65Primary

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

  • Incremental updates; Differential updates · 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 US9959111B2 cover?
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 c…
Who is the assignee on this patent?
Sap Se
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 May 01 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).