Automated Bug Prioritization via Diagnostic Data Aggregation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current bug prioritization methods in software development are inefficient and inaccurate as they rely on user-reported error cases, which may not reflect the actual number of affected users, leading to time-intensive and manual processes.

Innovation Solution

A system that receives diagnostic data from client devices, compares it to predefined rules to identify matches associated with bugs, aggregates the data to determine the number of affected devices for each bug, and prioritizes bugs based on this information, eliminating the need for user-reported cases.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If bug prioritization is based on user-reported error cases, then bugs can be identified and prioritized, but the process becomes time-intensive and inaccurate as it relies on manual analysis

Engineering Contradiction:
Improvebug prioritization accuracyVSAvoidtime-intensive manual process
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system automatically collects diagnostic data from client devices, compares it against bug signatures, and generates prioritization rankings without requiring manual engineer intervention. The automated prioritization system serves itself by autonomously processing diagnostic data, matching patterns, and determining bug priorities based on affected device counts.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The manual mechanical process of engineers analyzing error cases is replaced with an automated computational system that collects diagnostic data, compares it to bug signatures using pattern matching, and automatically generates prioritization rankings. This substitution eliminates manual analysis while improving accuracy through systematic data processing.

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

2Productivity

If manual analysis of error cases is used to prioritize bugs, then bug identification is possible, but the process is inefficient and does not reflect the actual number of affected users

Engineering Contradiction:
Improvebug prioritization efficiencyVSAvoidinaccurate impact assessment
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The system collects diagnostic data feedback from multiple client devices, processes this information to determine actual bug prevalence, and uses this feedback to accurately prioritize bugs based on the true number of affected devices. This continuous feedback loop ensures prioritization reflects actual impact rather than incomplete error case reports.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The diagnostic data collection system serves multiple functions: it monitors system characteristics across diverse client devices, identifies various types of bugs through pattern matching, and simultaneously provides accurate prioritization information. This universal system handles data collection, analysis, and prioritization in an integrated manner that improves both efficiency and accuracy.

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

3Reliability

If engineers manually search for bugs to link error cases, then bug identification can occur, but the process requires extensive knowledge and generates incomplete results

Engineering Contradiction:
Improvebug identification completenessVSAvoidmanual search complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system creates copies of known bug signatures and system characteristic patterns, then compares these copies against diagnostic data from client devices. This copying approach allows automated pattern matching that is more complete and reliable than manual searching, as it systematically compares against all known bug patterns rather than relying on engineer knowledge.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

Bug signatures and system characteristic patterns are pre-established and stored in the system before actual bug detection occurs. This preliminary preparation of reference data enables rapid and accurate matching during diagnostic analysis, eliminating the need for engineers to manually search and identify bugs during incident response.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11461219B2Prioritizing software bug mitigation for software on multiple systems
Publication Date: 2022.10.04 RED HAT INC
  • US11461219B2 patent drawing
  • US11461219B2 patent drawing
  • US11461219B2 patent drawing

AI summary

A prioritization for bugs in software on multiple systems can be determined. For example, a computing system can receive data files that each describe system characteristics for a client device of multiple client devices. The computing system can compare each data file to a plurality of rules to identify one or more matches between the data file and the plurality of rules. The computing system can filter the matches to generate a subset of the one or more matches that are associated with metadata tags corresponding to bugs in the multiple client devices. The computing system can aggregate the subset of the one or more matches for the multiple client devices to determine a number of the multiple client devices associated with each bug. The computing system can determine a prioritization for addressing the bugs based on the number of the multiple client devices associated with each bug.