Automated Patch Generation for Software Security Violations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software security systems lack automation for mitigating security violations, leading to prolonged vulnerability periods as manual efforts by operators take significant time to fix issues, leaving applications at risk for months.

Innovation Solution

An automated method and system for generating patches that identify security violations, determine patch conditions and locations, and insert candidate patches to prevent security violations, reducing the time to mitigate exploitation from months to hours.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual operators are used to fix security violations, then the fixing process can be thoroughly reviewed and approved, but the time required to fix security violations increases significantly (months)

Engineering Contradiction:
Improvesecurity violation fix reliabilityVSAvoidtime to fix security violations
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by automatically generating candidate patches and executing them before human operators complete the full fix process. The patch generation system creates patches in advance, executes them to verify effectiveness, and prepares them for deployment, thereby reducing the time operators need to spend on the critical path while maintaining reliability through subsequent human review.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

An automated patch generation system is introduced as an intermediary between the detection of security violations and the manual fixing process. This intermediary automatically generates candidate patches, executes them to verify they resolve the violations, and presents them to operators for review, thereby bridging the time gap while maintaining the reliability benefits of human oversight.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If automated patch generation is implemented, then the time to mitigate security violations is reduced (from months to hours), but the complexity of the system increases

Engineering Contradiction:
Improvetime to mitigate security violationsVSAvoidpatch generation system complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system enables self-service by allowing the automated patch generation system to independently generate candidate patches, execute them to verify effectiveness, and prepare them for deployment without requiring constant human intervention. The system serves itself by automatically managing the patch creation and validation process, reducing the need for complex human-in-the-loop workflows while maintaining reliability through optional review.

Inventive Principle:
Principle #25Self-service

3Reliability

If candidate patches are executed to verify effectiveness, then the reliability of security violation mitigation is improved, but the computational resources and time required for testing increase

Engineering Contradiction:
Improvepatch effectiveness verificationVSAvoidcomputational resources for patch testing
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system applies partial action by executing candidate patches selectively based on the severity and type of security violation. Not all candidate patches require full execution verification - the system can perform partial testing or prioritize execution based on the criticality of the vulnerability, thereby reducing overall computational resource consumption while maintaining reliability for the most important security fixes.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12182269B2Automatic generation of patches for security violations
Publication Date: 2024.12.31 GOOGLE LLC
  • US12182269B2 patent drawing
  • US12182269B2 patent drawing
  • US12182269B2 patent drawing

AI summary

Aspects of the disclosure provide for automatically generating patches for security violations. For example, a plurality of inputs may be generated for code. The code may be executed using the plurality of inputs to obtain execution states at a plurality of code locations. The execution states may include at least one security violation for at least some of the plurality of inputs. Using the execution states, one or more patch conditions causing the at least one security violation may be determined. Using the execution states, one or more corresponding patch locations may be determined based on a code location of the plurality of code locations where the at least one security violation each of the one or more patch conditions occurred. At least one candidate patch for the at least one security violation may be automatically generated. The at least one candidate patch may include one of the patch conditions and one of the corresponding patch locations.