Automated Error Detection and Mitigation for Software Pull Requests

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software deployment systems face errors related to contiguous integration (CI) and continuous deployment (CD) that are difficult to identify and mitigate, particularly due to intermittent failures, persistent outages, and human errors in pull requests (PRs), which burden developers and hinder efficient deployment.

Innovation Solution

Implementing a system that automatically identifies system errors associated with PR failures and determines an appropriate mitigation process, including error classification and automated recovery mechanisms, to alleviate the workload on developers and reduce deployment time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If developers manually identify and mitigate all error categories in PRs, then error detection completeness is improved, but developer workload and time consumption increase significantly

Engineering Contradiction:
Improveerror detection completenessVSAvoiddeveloper time consumption
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables automated self-service by having the CI/CD system automatically detect, classify, and mitigate errors without requiring developer intervention. The error mitigation process is autonomously executed by the system, freeing developers from manual error handling while maintaining comprehensive error detection.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

An intermediary error classification system is introduced between the CI/CD pipeline and developers. This intermediary automatically categorizes errors into system errors, user errors, and third-party errors, enabling automated handling of detectable errors while reducing the burden on developers to manually analyze all error types.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If automated error detection and mitigation is implemented, then deployment efficiency is improved, but system complexity increases

Engineering Contradiction:
Improvedeployment efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The error detection and mitigation system is segmented into distinct modular components: error detection module, error classification module (categorizing into system errors, user errors, third-party errors), and error mitigation module. Each module handles specific functions independently, making the overall complex system manageable and maintainable while improving deployment efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameter of error handling from manual developer action to automated system action. By transforming the state of error management through parameter changes (automation level, response time, mitigation strategies), the system achieves higher deployment efficiency despite increased system complexity.

Inventive Principle:
Principle #35Parameter changes

3Loss of time

If all error types are automatically handled, then deployment time is reduced, but false mitigation of user errors may occur

Engineering Contradiction:
Improvedeployment timeVSAvoiderror mitigation accuracy
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

Different error types receive different levels of automated handling based on their local quality characteristics. System errors (interruptions, outages, connectivity issues) are automatically detected and mitigated, while user errors (code bugs, logic errors) are identified and flagged for developer review. This differentiated approach reduces deployment time for system errors while preventing false mitigation of user errors.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system uses parameter changes in the form of error classification categories (system errors, user errors, third-party errors) to determine the appropriate response level. By changing the state parameter of each error based on its classification, the system achieves both rapid automated response for system errors and careful developer review for user errors, balancing speed and accuracy.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11755400B2Error detection and mitigation for software pull requests
Publication Date: 2023.09.12 SALESFORCE INC
  • US11755400B2 patent drawing
  • US11755400B2 patent drawing
  • US11755400B2 patent drawing

AI summary

Embodiments of the present disclosure relate to detecting and mitigating errors associated with software pull requests such as software deployment packages. The embodiments include identifying a failure of a pull request, identifying a system error associated with the failure, determining a failure mitigation process based on the failure and the system error, and executing the failure mitigation process to resolve the failure. The errors can be classified as system errors, user errors or planned downtime. The failure mitigation process can include generating an alert associated with the identified system error, updating a status of the pull request, re-evaluating the failure after a predetermined period of time, and retrying deployment of the pull request using an exponential retry process.