Automated Software Patch Prioritization via Bug Pattern Inference

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for updating software are inefficient, as they require manual sourcing of source code modifications from scattered information, lacking automation in classifying and prioritizing software patches based on bug fix patterns.

Innovation Solution

An automated system that classifies and prioritizes software patches using a bug class inference module, patch recommendation module, and pre-defined policies, identifying bug fix patterns and assigning priorities for informed decision-making on patch installation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual sourcing of source code modifications is used, then information can be obtained from scattered sources, but the process is inefficient and time-consuming

Engineering Contradiction:
Improvepatch update efficiencyVSAvoidtime for manual information gathering
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by proactively monitoring and collecting software patch information from multiple sources before manual intervention is needed. The automated information collection module continuously gathers patch data, vulnerability information, and source code modifications, preparing them for immediate analysis and presentation to users, thereby eliminating the need for manual information gathering.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an automated information collection module as an intermediary between scattered information sources and the user. This module acts as a mediator that aggregates, processes, and presents patch information in a unified manner, replacing the manual process of visiting multiple scattered sources and synthesizing information manually.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If automated classification and prioritization is implemented, then decision-making efficiency is improved, but system complexity increases

Engineering Contradiction:
Improvepatch prioritization speedVSAvoidcomplexity of automated analysis system
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The automated analysis system is segmented into distinct functional modules: an automated information collection module for gathering data, a patch analysis module for processing patch content, a vulnerability matching module for comparing against known vulnerabilities, and a prioritization module for ranking patches. This segmentation allows each module to perform its specific function independently, making the overall complex system manageable and maintainable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a multi-functional automated analysis system that simultaneously performs information collection from multiple sources, patch parsing, vulnerability pattern matching, impact analysis, and prioritization ranking. This universal system handles diverse patch types and information sources through a unified architecture, reducing the need for separate specialized systems for each function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Measurement precision

If comprehensive patch analysis is performed, then accurate prioritization is achieved, but processing time increases

Engineering Contradiction:
Improveaccuracy of patch prioritizationVSAvoidtime for analyzing code changes
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system applies partial analysis by focusing on the most critical aspects of patch evaluation. The vulnerability matching module compares patches against known vulnerability patterns to identify security issues, while the impact analysis module assesses only the most significant code changes. This selective approach provides accurate prioritization for security-critical patches without requiring exhaustive analysis of every patch detail, thereby reducing processing time while maintaining precision for high-priority items.

Inventive Principle:
Principle #16Partial or excessive action

4Loss of information

If manual lookup of source code modifications is required, then detailed information can be obtained, but the ease of operation decreases

Engineering Contradiction:
Improvecompleteness of patch informationVSAvoidease of patch information retrieval
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The patent merges multiple information sources and types into a unified patch information presentation. The automated information collection module aggregates patch metadata, source code modifications, vulnerability details, and prioritization rankings from scattered sources into a single integrated view. This combining of previously separate information elements allows users to access comprehensive patch information through one interface, eliminating the need to manually look up information across multiple sources.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9959111B2Prioritization of software patches
Publication Date: 2018.05.01 SAP SE
  • US9959111B2 patent drawing
  • US9959111B2 patent drawing
  • US9959111B2 patent drawing

AI summary

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.