Software-Issue Graph for Dependency Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing project management software systems face challenges in managing large-scale software development projects with numerous software issues, where issues are often duplicative, overlapping, or have complex relationships, making it difficult for developers to determine which issues to address next and how they are related.

Innovation Solution

A software-issue graph is constructed using nodes and edges to represent software-issue reports and their relationships, allowing for the determination of dependencies, duplicates, and genus-species relationships, facilitating faster searches and memory-efficient encoding of these relationships.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the number of software issues tracked increases to cover more development tasks, then the completeness of issue tracking improves, but the difficulty of determining relationships between issues and selecting which to address next increases

Engineering Contradiction:
Improvecompleteness of issue trackingVSAvoidcomplexity of issue relationship analysis
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the complex issue tracking system into distinct components: issue reports are divided into structured fields (title, description, status, priority), and relationships between issues are segmented into specific types (duplicate, blocking, related). This segmentation allows the system to manage large numbers of issues systematically while maintaining clarity in relationships.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary issue relationship model that mediates between raw issue reports and developer decision-making. This model automatically analyzes and categorizes relationships between issues, serving as an intermediary layer that reduces the complexity developers would otherwise face when analyzing hundreds or thousands of issues.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If developers manually analyze relationships between numerous software issues, then the accuracy of issue prioritization may improve, but the time required to make decisions increases significantly

Engineering Contradiction:
Improveaccuracy of issue prioritizationVSAvoidtime for issue analysis and decision-making
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary action by automatically analyzing issue relationships and generating prioritization recommendations before developers need to make decisions. The system pre-processes issue data, identifies relationships (duplicates, blocking issues, dependencies), and prepares prioritization suggestions in advance, so developers receive ready-analyzed information when they need to decide what to work on next.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where the system continuously monitors issue status changes, updates relationship analyses automatically, and provides ongoing prioritization recommendations. As issues are resolved or new issues are added, the system feedback loops update the relationship graph and re-prioritize accordingly, maintaining accurate recommendations without requiring repeated manual analysis.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If the system tracks detailed relationships between all software issues, then the usefulness of issue management improves, but the computational resources required to maintain and search the issue repository increases

Engineering Contradiction:
Improveusefulness of issue managementVSAvoidcomputational resources for issue repository maintenance
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent applies local quality by focusing computational resources on analyzing relationships only where relevant. Rather than uniformly analyzing all possible issue pairs, the system identifies and analyzes relationships locally around each issue based on criteria such as shared code files, similar descriptions, or temporal proximity. This selective approach maintains useful relationship tracking while reducing overall computational burden.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10311405B2Software-issue graphs
Publication Date: 2019.06.04 CA TECH INC
  • US10311405B2 patent drawing
  • US10311405B2 patent drawing
  • US10311405B2 patent drawing

AI summary

Provided is a process, including: obtaining a plurality of software-issue reports; obtaining a pull request; forming a software-issue graph having a plurality of nodes corresponding to the software-issue reports and a plurality of edges indicating relationships between the software-issue reports; determining that the pull request addresses a given software-issue report; selecting a subset of nodes in the software-issue graph addressed by the pull request; and designating the pull request as being associated with the plurality of software-issue reports corresponding to the selected subset of nodes.