Bug Report Duplicate Detection via ML Classification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Duplicate bug reports often lead to inefficiencies in debugging and development processes as test engineers and users are not aware that multiple reports refer to the same software or hardware defect, causing independent handling of each report.

Innovation Solution

A bug classification model is generated using a training set of bug reports with user-classifications to determine correlation values for features across pairs of reports, allowing for the identification of duplicate or non-duplicate reports through a set of weights applied to these values, and the model is revised based on user feedback.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple bug reports are handled independently without duplicate detection, then each report receives individual attention, but debugging efficiency decreases and time is wasted due to redundant work

Engineering Contradiction:
Improvedebugging efficiencyVSAvoidtime wasted on duplicate reports
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary duplicate detection by comparing incoming bug reports against existing reports in the database using machine learning algorithms before the reports are fully processed. This preliminary action identifies potential duplicates early in the workflow, preventing redundant debugging work from occurring in the first place.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system incorporates feedback loops where detected duplicate relationships are continuously learned and used to improve future duplicate detection accuracy. User confirmations of duplicate identifications feed back into the training data, refining the machine learning model's ability to distinguish true duplicates from unique bugs over time.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If a machine learning model is used to classify bug reports, then duplicate detection accuracy improves, but system complexity increases

Engineering Contradiction:
Improveduplicate detection accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary processing layer that includes feature extraction modules, similarity computation engines, and classification algorithms. This intermediary layer sits between raw bug report data and the final duplicate determination, breaking down the complex task into manageable stages: extracting relevant features from reports, computing similarity metrics, applying machine learning classification, and presenting results for confirmation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The duplicate detection system is segmented into independent modular components: bug report ingestion modules, feature extraction modules, similarity computation modules, machine learning classification modules, and result presentation modules. Each module handles a specific aspect of the detection process, allowing for independent development, testing, and optimization of individual components.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10789149B2Duplicate bug report detection using machine learning algorithms and automated feedback incorporation
Publication Date: 2020.09.29 ORACLE INT CORP
  • US10789149B2 patent drawing
  • US10789149B2 patent drawing
  • US10789149B2 patent drawing

AI summary

Duplicate bug report detection using machine learning algorithms and automated feedback incorporation is disclosed. For each set of bug reports, a user-classification of the set of bug reports as including duplicate bug reports or non-duplicate bug reports is identified. Also for each set of bug reports, correlation values corresponding to a respective feature, of a plurality of features, between bug reports in the set of bug reports is identified. Based on the user-classifications and the correlation values, a model is generated to identify any set of bug reports as including duplicate bug reports or non-duplicate bug reports. The model is applied to classify a particular bug report and a candidate bug report as duplicate bug reports or non-duplicate bug reports.