Version Control Graph for Automated Software Issue Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Identifying and resolving software issues within software components is a labor-intensive and difficult process, even with the use of various development tools and workflow systems, as existing technologies lack efficient mechanisms for comparing and applying changes across different branches of a software component.

Innovation Solution

The implementation of a system that utilizes a version control graph to identify relationships between software component branches, allowing for the determination of applicable changes and automatic application of fixes, along with an issue tracking system to manage and prioritize issues based on relevance and similarity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual processes are used to identify and resolve software issues across branches, then developers can maintain control and understand changes, but the process becomes extremely labor-intensive and time-consuming

Engineering Contradiction:
Improveissue resolution efficiencyVSAvoidtime spent on manual issue tracking
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system enables automated self-service by allowing the issue tracking system to automatically detect, analyze, and resolve issues across branches without manual intervention. The system autonomously compares code changes, identifies relevant issues, and applies resolutions, freeing developers from manual issue tracking while maintaining system control.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Manual mechanical processes of issue tracking and analysis are replaced with automated computational systems. The system uses algorithms to automatically compare code changes across branches, identify relevant issues, and apply resolutions, substituting human manual labor with automated mechanical processes.

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

2Measurement precision

If developers manually track and analyze changes across multiple branches, then they can ensure accuracy and relevance of issue resolutions, but the complexity and time required increases significantly

Engineering Contradiction:
Improveaccuracy of issue identificationVSAvoidcomplexity of issue tracking system
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system segments the complex issue tracking process into distinct automated components: code change detection, similarity analysis, issue matching, and resolution application. Each segment handles a specific aspect of the process, reducing overall system complexity while maintaining high precision in issue identification through specialized automated functions.

Inventive Principle:
Principle #1Segmentation

3Productivity

If automated systems are implemented to resolve issues across branches, then productivity increases and manual effort decreases, but the system complexity and difficulty of implementation increase

Engineering Contradiction:
Improvesoftware development efficiencyVSAvoidlevel of automated issue resolution
Core Design Contradiction:
ProductivityVSExtent of automation

Solution Approach 1:

The issue tracking system is designed with universal multi-functionality, serving as a centralized platform that automatically handles issue detection, analysis, tracking, and resolution across multiple branches. This single automated system performs multiple functions that would otherwise require separate tools and manual processes, increasing productivity while managing complexity through consolidation.

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

Data Source

PatentUS9135146B1Identifying and resolving software issues
Publication Date: 2015.09.15 AMAZON TECH INC
  • US9135146B1 patent drawing
  • US9135146B1 patent drawing
  • US9135146B1 patent drawing

AI summary

Technologies are described herein for use in identifying and resolving software issues. One or more corrective actions may be identified and taken that are based upon the similarity between an unresolved issue and one or more resolved issues and/or upon the similarity between code changes made to resolve similar previously resolved issues. A version control graph might also be utilized to determine if a change made to resolve an issue in one branch of a software component is applicable to another branch of the software component. The version control graph might also be utilized to compute the relevance of an entry in an issue tracking system for an issue at a point in time after the entry is created in the issue tracking system.