Automated Software Defect Repair via Log Scanning and Template Application

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing software development and operations (DevOps) cycle is time-consuming and delays the deployment of defect fixes to fielded devices, resulting in a suboptimal customer experience due to manual intervention in identifying and repairing software defects.

Innovation Solution

An automated method for scanning log files to identify software defects, searching solution templates, applying fixes, and deploying updated software distributions to devices without human intervention, using a computer-implemented method that includes scanning log files, identifying error types, source files, and line numbers, searching solution template repositories, and creating modified source files for defect mitigation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual defect identification and repair processes are used, then software quality can be ensured through human review, but the time to deploy fixes is extended and productivity is reduced

Engineering Contradiction:
Improvesoftware qualityVSAvoiddefect repair speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system enables self-service defect repair by automatically scanning logs, identifying defects, selecting appropriate solution templates, and applying fixes without human intervention. The automated defect repair system performs the repair function independently, eliminating the need for manual analysis and code modification while maintaining consistent quality through predefined solution templates.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Solution templates are prepared in advance for common defect types, containing pre-validated repair approaches. When a defect is detected, the system retrieves and applies the corresponding pre-prepared template, eliminating the need for on-the-spot analysis and decision-making. This preliminary preparation of repair solutions enables rapid automated response to defects.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If manual defect tracking and repair processes are used, then complex defects can be analyzed by human experts, but the overall process becomes time-consuming and delays deployment

Engineering Contradiction:
Improvedefect analysis accuracyVSAvoidtime to deploy fixes
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system replaces the mechanical human analysis process with automated computational methods. Log scanning, defect pattern recognition, and solution template matching are performed by algorithms rather than human analysts. This substitution maintains precision through systematic pattern matching while eliminating the time delay inherent in manual processes.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

Solution templates serve as intermediaries between defect detection and repair application. The templates contain pre-analyzed repair strategies for various defect types, acting as a bridge that translates detected defects into corrected code without requiring real-time human analysis. This intermediary layer enables rapid automated repair while maintaining the quality of expert-level analysis.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If automated defect repair is implemented, then deployment speed is improved and time to market is reduced, but the complexity of the repair system increases

Engineering Contradiction:
Improvedefect repair speedVSAvoidrepair system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The automated repair system is segmented into distinct functional modules: log scanning, defect identification, template matching, solution application, and deployment. Each module handles a specific aspect of the repair process independently. This segmentation manages system complexity by breaking down the automated repair function into manageable, well-defined components that can be developed and maintained separately.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Solution templates provide a universal mechanism that handles multiple defect types through a common framework. Each template contains reusable repair logic that can be applied to various instances of the same defect pattern across different parts of the codebase. This universality reduces system complexity by avoiding the need for custom repair logic for each individual defect case.

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

Data Source

PatentUS11157390B2Automatic software defect repair
Publication Date: 2021.10.26 KYNDRYL INC
  • US11157390B2 patent drawing
  • US11157390B2 patent drawing
  • US11157390B2 patent drawing

AI summary

Disclosed embodiments provide techniques for automatic software defect correction of a computer program. Computer program log files are scanned to identify runtime errors, corresponding to software defects. The software defects are analyzed to determine an error type, and identify the source file/code that caused the error. A solution template repository is searched for a solution template corresponding to the identified error type. If a solution template is found, the source code is checked out from the identified source repository. The template is applied to the “original” checked out source file to create a new source file with the fix, which is then uploaded back to the repository. A new software distribution is automatically built with the new source file, and the new software distribution is automatically deployed to the devices that experienced the error. Thus, defects can be automatically detected, repaired, and deployed without human intervention.