Code Component Debugging via User Feedback Fragility Scores

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing complexity of code components in application programs makes debugging more challenging, as existing methods lack efficient ways to identify and prioritize fragile code components based on real-world user feedback.

Innovation Solution

Analyzing application-store reviews to extract defect data, correlating it with development test cases, and calculating fragility scores for code components, which are then used to prioritize debugging efforts and enhance application reliability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If code components in application programs become more complex, then functionality and capabilities are improved, but debugging difficulty and time increase

Engineering Contradiction:
ImprovefunctionalityVSAvoidcode complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent replaces manual debugging processes with an automated machine learning system that uses natural language processing of application store reviews to identify and prioritize code defects. The system automatically correlates user feedback with code components, calculates fragility scores, and generates test cases, substituting the mechanical process of manual code inspection with an automated intelligent system.

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

Solution Approach 2:

The system enables the code base to effectively debug itself by automatically analyzing user feedback, identifying defects, and generating test cases without requiring manual intervention. The machine learning model continuously learns from application store reviews and automatically prioritizes debugging efforts based on calculated fragility scores, allowing the system to self-diagnose and self-improve.

Inventive Principle:
Principle #25Self-service

2Reliability

If manual debugging methods are used, then debugging can be performed, but debugging time and resource consumption increase

Engineering Contradiction:
Improvedebugging effectivenessVSAvoiddebugging time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements a feedback loop by continuously monitoring application store reviews and using them to update the machine learning model. User feedback from store reviews is automatically processed to identify new defects and update fragility scores, creating a continuous improvement cycle that reduces debugging time over time as the system learns from real-world usage patterns.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary actions by proactively analyzing application store reviews and identifying potential defects before they become critical issues. The machine learning model continuously scans for patterns indicating code fragility and prioritizes debugging efforts in advance, preventing rather than merely reacting to problems.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If all code components are debugged equally, then comprehensive coverage is achieved, but debugging efficiency decreases

Engineering Contradiction:
Improvedebugging coverageVSAvoiddebugging efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by differentiating the debugging approach based on the specific characteristics of each code component. Instead of uniform treatment, the system calculates individual fragility scores for each code component based on its correlation with user feedback, and prioritizes debugging efforts locally on the most fragile components while maintaining overall comprehensive coverage.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the parameter of debugging priority by dynamically calculating fragility scores based on multiple factors including defect frequency, user impact, and code complexity. These parameter changes allow the system to adaptively prioritize which code components to debug first, improving efficiency while maintaining comprehensive coverage over time.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10684938B2Code component debugging in an application program
Publication Date: 2020.06.16 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10684938B2 patent drawing
  • US10684938B2 patent drawing
  • US10684938B2 patent drawing

AI summary

Disclosed aspects relate to debugging a set of code components of an application program. A set of defect data which indicates a set of defects may be collected with respect to an application program. The set of defect data may be derived from a set of post-compilation users of the application program. A set of test case data which indicates a set of user interface features of the application program may be collected with respect to the application program. The set of test case data may be derived from a set of development tests of the application program. Using both the set of defect data and the set of test case data, a set of fragility data for the set of code components of the application program may be determined. Based on the set of fragility data, the set of code components of the application program may be debugged.